diff --git a/Data/VCD.hs b/Data/VCD.hs
--- a/Data/VCD.hs
+++ b/Data/VCD.hs
@@ -145,13 +145,14 @@
     hPutStrLn (handle vcd) "$dumpvars"
     dumpvars'
     hPutStrLn (handle vcd) "$end"
+    writeIORef (dirty vcd) True
 
+  t <- readIORef $ time vcd
+  writeIORef (time vcd) $ t + n
   dirty' <- readIORef $ dirty vcd
   when dirty' $ do
-    t <- readIORef $ time vcd
     hPutStrLn (handle vcd) $ "#" ++ show (t + n)
     writeIORef (dirty vcd) False
-    writeIORef (time vcd) $ t + n
     hFlush $ handle vcd
 
 identCodes :: [String]
diff --git a/vcd.cabal b/vcd.cabal
--- a/vcd.cabal
+++ b/vcd.cabal
@@ -1,5 +1,5 @@
 name:    vcd
-version: 0.1.1
+version: 0.1.2
 
 category: Data
 
