diff --git a/src/main/java/com/ardublock/translator/block/control/SketchBlock.java b/src/main/java/com/ardublock/translator/block/control/SketchBlock.java
index 78acf2986b0540b94c73ed6380c666e26efcb2c9..aa1642405053c0711d5f430c0e1705e66c5a220a 100644
--- a/src/main/java/com/ardublock/translator/block/control/SketchBlock.java
+++ b/src/main/java/com/ardublock/translator/block/control/SketchBlock.java
@@ -107,28 +107,11 @@ public class SketchBlock extends TranslatorBlock
 		Vector<SimCode> mainVec =new Vector<SimCode>();
 		Vector<SimCode> setup =new Vector<SimCode>();
 		Vector<SimCode> loop =new Vector<SimCode>();
-		//MainPart
-		TranslatorBlock translatorBlock = getTranslatorBlockAtSocket(0);
-		while (translatorBlock != null)
-		{
-			SimCode newSimCode = translatorBlock.toSim();
-			translatorBlock = translatorBlock.nextTranslatorBlock();
-			if (newSimCode != null) {
-				mainVec.add(newSimCode);
-			}		
-		}
-		Map<String,String> numbers=translator.getNuberMap();
-		Map<String,String> bools=translator.getBooleanMap();
-		for (String var : numbers.keySet()) {
-			mainVec.add(new CodeIntSet(new SimTypeString(var),new SimTypeInt(0)));
-		}
 		
-		for (String var : bools.keySet()) {
-			mainVec.add(new CodeBoolSet(new SimTypeString(var),new SimTypeBool(false)));
-		}
+		
 		
 		//Setup
-		translatorBlock = getTranslatorBlockAtSocket(1);
+		TranslatorBlock translatorBlock = getTranslatorBlockAtSocket(1);
 		while (translatorBlock != null)
 		{
 			SimCode newSimCode = translatorBlock.toSim();
@@ -152,6 +135,27 @@ public class SketchBlock extends TranslatorBlock
 		sim.stopSimu();
 		sim.resetFunctions();
 		
+		//MainPart
+				Map<String,String> numbers=translator.getNuberMap();
+				Map<String,String> bools=translator.getBooleanMap();
+				for (String var : numbers.keySet()) {
+					mainVec.add(new CodeIntSet(new SimTypeString(var),new SimTypeInt(0)));
+				}
+				
+				for (String var : bools.keySet()) {
+					mainVec.add(new CodeBoolSet(new SimTypeString(var),new SimTypeBool(false)));
+				}
+				
+				translatorBlock = getTranslatorBlockAtSocket(0);
+				while (translatorBlock != null)
+				{
+					SimCode newSimCode = translatorBlock.toSim();
+					translatorBlock = translatorBlock.nextTranslatorBlock();
+					if (newSimCode != null) {
+						mainVec.add(newSimCode);
+					}		
+				}
+		
 		
 		SimTypeBool boolTrue = new SimTypeBool(true);
 		mainVec.add(new CodeExecuteFunction("setup"));