It would be nice if the PWGL guys rewrite their code to behave properly as this code is very dangerous. I expect they are doing: src = wglCreateContext(..) dest = wglCreateContext(..) wglMakeCurrent(dest) do_some_gl_rendering wglShareLists(src, dest) A requirement for the call is that you didn't do anything with the destination context before calling wglShareLists. If they would swap around the parameters in the call it would work fine or even better directly call share lists after creating the contexts.