diff --git a/src/Shader/VertexProgram.cpp b/src/Shader/VertexProgram.cpp
index 0eb8441..d492c65 100644
--- a/src/Shader/VertexProgram.cpp
+++ b/src/Shader/VertexProgram.cpp
@@ -29,7 +29,6 @@
 		ifDepth = 0;
 		loopRepDepth = 0;
 		currentLabel = -1;
-		whileTest = false;
 
 		for(int i = 0; i < 2048; i++)
 		{
@@ -978,11 +977,6 @@
 
 	Int4 VertexProgram::enableMask(const Shader::Instruction *instruction)
 	{
-		if(whileTest)
-		{
-			return Int4(0xFFFFFFFF);
-		}
-
 		Int4 enable = instruction->analysisBranch ? Int4(enableStack[enableIndex]) : Int4(0xFFFFFFFF);
 
 		if(shader->containsBreakInstruction() && instruction->analysisBreak)
@@ -1110,7 +1104,8 @@
 
 	void VertexProgram::TEST()
 	{
-		whileTest = true;
+		enableContinue = restoreContinue.back();
+		restoreContinue.pop_back();
 	}
 
 	void VertexProgram::CALL(int labelIndex, int callSiteIndex)
@@ -1289,7 +1284,6 @@
 		Nucleus::setInsertBlock(endBlock);
 
 		enableIndex--;
-		whileTest = false;
 	}
 
 	void VertexProgram::ENDSWITCH()
@@ -1474,12 +1468,11 @@
 		loopRepEndBlock[loopRepDepth] = endBlock;
 
 		Int4 restoreBreak = enableBreak;
-		Int4 restoreContinue = enableContinue;
+		restoreContinue.push_back(enableContinue);
 
 		// TODO: jump(testBlock)
 		Nucleus::createBr(testBlock);
 		Nucleus::setInsertBlock(testBlock);
-		enableContinue = restoreContinue;
 
 		const Vector4f &src = fetchRegister(temporaryRegister);
 		Int4 condition = As<Int4>(src.x);
@@ -1497,7 +1490,6 @@
 		Nucleus::setInsertBlock(loopBlock);
 
 		loopRepDepth++;
-		whileTest = false;
 	}
 
 	void VertexProgram::SWITCH()
