Fix "if" condition
diff --git a/src/lisp/compiler.dasc b/src/lisp/compiler.dasc
index e5a9444..2ac21f3 100644
--- a/src/lisp/compiler.dasc
+++ b/src/lisp/compiler.dasc
@@ -64,11 +64,13 @@
 		|.actionlist lisp_actions;
 		dasm_setup(&d, lisp_actions);
 
-		dasm_growpc(&d, npc);
-
 		struct local local;
 		local.first = NULL;
 		local.num_vars = 0;
+		local.npc = 8;
+		local.nextpc = 0;
+
+		dasm_growpc(&d, local.npc);
 
 		// Generate code
 
@@ -158,7 +160,7 @@
 			| je =>false_label;
 
 			compile_expression(env, local, elt(args, 1), Dst);
-
+			| jmp =>after_label;
 			|=>false_label:
 			if (nargs == 3)
 			    compile_expression(env, local, elt(args, 2), Dst);