diff -rupN vtk-5.4.2-src\Rendering\vtkWin32OpenGLRenderWindow.cxx vtk-5.4.2-src.patched\Rendering\vtkWin32OpenGLRenderWindow.cxx
--- vtk-5.4.2-src\Rendering\vtkWin32OpenGLRenderWindow.cxx	Fri Jan 02 14:56:16 2009
+++ vtk-5.4.2-src.patched\Rendering\vtkWin32OpenGLRenderWindow.cxx	Wed Sep 23 14:12:56 2009
@@ -968,8 +968,8 @@ void vtkWin32OpenGLRenderWindow::Destroy
 // Get the current size of the window.
 int *vtkWin32OpenGLRenderWindow::GetSize(void)
 {
-  // if we aren't mapped then just return the ivar 
-  if (this->Mapped)
+  // if we aren't mapped or onscreen then just return the ivar 
+  if (this->Mapped && !this->OffScreenRendering)
     {
     RECT rect;
 
@@ -993,12 +993,15 @@ int *vtkWin32OpenGLRenderWindow::GetSize
 // Get the current size of the window.
 int *vtkWin32OpenGLRenderWindow::GetScreenSize(void)
 {
-  RECT rect;
+  if (!this->OffScreenRendering)
+    {
+    RECT rect;
 
-  SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
+    SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
                             
-  this->Size[0] = rect.right - rect.left;
-  this->Size[1] = rect.bottom - rect.top;
+    this->Size[0] = rect.right - rect.left;
+    this->Size[1] = rect.bottom - rect.top;
+    }
   
   return this->Size;
 }
