Index: System/State/Shader/Base/OSGShaderProgram.cpp
===================================================================
--- System/State/Shader/Base/OSGShaderProgram.cpp	(revision 2462)
+++ System/State/Shader/Base/OSGShaderProgram.cpp	(revision 2463)
@@ -44,6 +44,7 @@
 #include <cstdio>
 
 #include <OSGConfig.h>
+#include <OSGGLU.h>
 
 #include "OSGShaderProgram.h"
 #include "OSGGLFuncProtos.h"
@@ -526,6 +527,12 @@
         {
             GLuint uiShader = GLuint(pWin->getGLObjectId(getGLId()));
 
+            if(Window::initialize == mode && uiShader != 0)
+            {
+               FWARNING(("ShaderProgram initialized with a non-zero GL object ID.\n"));
+               uiShader = 0;
+            }
+
             if(uiShader == 0)
             {      
                 OSGGETGLFUNC(OSGglCreateShaderProc,
@@ -629,6 +636,7 @@
         //true,
         //true /*mode != Window::needrefresh*/);
     }
+    glErr("ShaderProgram::handleGL()");
 
     return 0;
 }
@@ -668,6 +676,7 @@
     {
         ;//SWARNING << "Last program user destroyed" << std::endl;
     }
+    glErr("ShaderProgram::handleDestroyGL()");
 }
 
 
