diff --git "a/C:\\Users\\raab\\AppData\\Local\\Temp\\TortoiseGit\\OSGE6C2.tmp\\OSGShadowStage-39f925f-left.cpp" "b/D:\\Dev\\opensg2\\Source\\System\\NodeCores\\Groups\\Effects\\ShadowStage\\OSGShadowStage.cpp"
index 6228920..9f60cf1 100644
--- "a/C:\\Users\\raab\\AppData\\Local\\Temp\\TortoiseGit\\OSGE6C2.tmp\\OSGShadowStage-39f925f-left.cpp"
+++ "b/D:\\Dev\\opensg2\\Source\\System\\NodeCores\\Groups\\Effects\\ShadowStage\\OSGShadowStage.cpp"
@@ -334,8 +334,12 @@ Action::ResultE ShadowStage::renderEnter(Action *action)
 //    fprintf(stderr, "ShadowStage::renderEnter\n");
 
     if(pData->getRunning() == true)
-        return returnValue;
+    {
+		if(getShadowOn() == false)
+			pData->setRunning(false);
 
+		return returnValue;
+	}
 
     pData->setRunning(true);
 
@@ -765,7 +769,7 @@ void ShadowStage::checkLights(RenderActionBase *action,
 
         for(; lIt != lEnd; ++lIt, ++lsIt)
         {
-            if((*lsIt).first != *lIt)
+            //if((*lsIt).first != *lIt) // light node or core may have changed..
             {
                 (*lsIt).first  = *lIt;
                 (*lsIt).second = dynamic_cast<Light *>((*lIt)->getCore());
