Index: Rendering/vtkAssembly.cxx
===================================================================
RCS file: /cvsroot/VTK/VTK/Rendering/vtkAssembly.cxx,v
retrieving revision 1.57
diff -u -r1.57 vtkAssembly.cxx
--- Rendering/vtkAssembly.cxx	4 Jan 2005 20:56:39 -0000	1.57
+++ Rendering/vtkAssembly.cxx	28 Feb 2007 15:26:18 -0000
@@ -311,35 +317,39 @@
     prop3D = (vtkProp3D *)path->GetLastNode()->GetViewProp();
     if ( prop3D->GetVisibility() )
       {
-      propVisible = 1;
       prop3D->PokeMatrix(path->GetLastNode()->GetMatrix());
       bounds = prop3D->GetBounds();
       prop3D->PokeMatrix(NULL);
 
-      // fill out vertices of a bounding box
-      bbox[ 0] = bounds[1]; bbox[ 1] = bounds[3]; bbox[ 2] = bounds[5];
-      bbox[ 3] = bounds[1]; bbox[ 4] = bounds[2]; bbox[ 5] = bounds[5];
-      bbox[ 6] = bounds[0]; bbox[ 7] = bounds[2]; bbox[ 8] = bounds[5];
-      bbox[ 9] = bounds[0]; bbox[10] = bounds[3]; bbox[11] = bounds[5];
-      bbox[12] = bounds[1]; bbox[13] = bounds[3]; bbox[14] = bounds[4];
-      bbox[15] = bounds[1]; bbox[16] = bounds[2]; bbox[17] = bounds[4];
-      bbox[18] = bounds[0]; bbox[19] = bounds[2]; bbox[20] = bounds[4];
-      bbox[21] = bounds[0]; bbox[22] = bounds[3]; bbox[23] = bounds[4];
-
-      for (i = 0; i < 8; i++)
+      if (bounds)
         {
-        for (n = 0; n < 3; n++)
+        propVisible = 1;
+
+        // fill out vertices of a bounding box
+        bbox[ 0] = bounds[1]; bbox[ 1] = bounds[3]; bbox[ 2] = bounds[5];
+        bbox[ 3] = bounds[1]; bbox[ 4] = bounds[2]; bbox[ 5] = bounds[5];
+        bbox[ 6] = bounds[0]; bbox[ 7] = bounds[2]; bbox[ 8] = bounds[5];
+        bbox[ 9] = bounds[0]; bbox[10] = bounds[3]; bbox[11] = bounds[5];
+        bbox[12] = bounds[1]; bbox[13] = bounds[3]; bbox[14] = bounds[4];
+        bbox[15] = bounds[1]; bbox[16] = bounds[2]; bbox[17] = bounds[4];
+        bbox[18] = bounds[0]; bbox[19] = bounds[2]; bbox[20] = bounds[4];
+        bbox[21] = bounds[0]; bbox[22] = bounds[3]; bbox[23] = bounds[4];
+
+       for (i = 0; i < 8; i++)
           {
-          if (bbox[i*3+n] < this->Bounds[n*2])
-            {
-            this->Bounds[n*2] = bbox[i*3+n];
-            }
-          if (bbox[i*3+n] > this->Bounds[n*2+1])
+          for (n = 0; n < 3; n++)
             {
-            this->Bounds[n*2+1] = bbox[i*3+n];
-            }
-          }//for each coordinate axis
-        }//for each point of box
+            if (bbox[i*3+n] < this->Bounds[n*2])
+              {
+              this->Bounds[n*2] = bbox[i*3+n];
+              }
+            if (bbox[i*3+n] > this->Bounds[n*2+1])
+              {
+              this->Bounds[n*2+1] = bbox[i*3+n];
+              }
+            }//for each coordinate axis
+          }//for each point of box
+	    }//if bounds
       }//if visible && prop3d
     }//for each path
 
