diff --git a/Language/Javascript/JMacro/QQ.hs b/Language/Javascript/JMacro/QQ.hs
--- a/Language/Javascript/JMacro/QQ.hs
+++ b/Language/Javascript/JMacro/QQ.hs
@@ -512,10 +512,8 @@
                                 (optionMaybe expr <<* semi)
                                 (option [] statement)
                 jFor' :: [JStat] -> Maybe JExpr -> [JStat]-> [JStat] -> [JStat]
-                jFor' before p after bs = decl ++ before ++ [WhileStat False (fromMaybe (jsv "true") p) b']
-                    where b' = BlockStat $ maybeAfter : bs
-                          maybeAfter = IfStat (InfixExpr "==" (jsv "jmId_loop") (jsv "true")) (BlockStat after) (AssignStat (jsv "jmId_loop") (jsv "true"))
-                          decl = [DeclStat (StrI "jmId_loop") Nothing, AssignStat (jsv "jmId_loop") (jsv "false")]
+                jFor' before p after bs = before ++ [WhileStat False (fromMaybe (jsv "true") p) b']
+                    where b' = BlockStat $ bs ++ after
 
       assignOpStat = do
           let rop x = reservedOp x >> return x
diff --git a/jmacro.cabal b/jmacro.cabal
--- a/jmacro.cabal
+++ b/jmacro.cabal
@@ -1,5 +1,5 @@
 name:                jmacro
-version:             0.6.12
+version:             0.6.13
 synopsis:            QuasiQuotation library for programmatic generation of Javascript code.
 description:         Javascript syntax, functional syntax, hygienic names, compile-time guarantees of syntactic correctness, limited typechecking. Additional documentation available at <http://www.haskell.org/haskellwiki/Jmacro>
 category:            Language
