--- ParaView-3.10.1/VTK/IO/vtkOpenFOAMReader.cxx	2011-04-13 18:17:23.000000000 +0200
+++ ParaView-3.10.1/src/VTK/IO/vtkOpenFOAMReader.cxx	2011-08-04 14:45:33.000000000 +0200
@@ -2356,12 +2356,15 @@
 
           if (io.GetFormat() == vtkFoamIOobject::ASCII)
             {
-            io.ReadExpecting('(');
-            for (int j = 0; j < sizeJ; j++)
+            if (sizeJ > 0) // avoid invalid reference to labelListI.at(0)
               {
-              listI[j] = vtkFoamReadValue<int>::ReadValue(io);
+              io.ReadExpecting('(');
+              for (int j = 0; j < sizeJ; j++)
+                {
+                listI[j] = vtkFoamReadValue<int>::ReadValue(io);
+                }
+              io.ReadExpecting(')');
               }
-            io.ReadExpecting(')');
             }
           else
             {
@@ -2549,18 +2552,21 @@
         }
       // some objects have lists with only one element enclosed by {}
       // e. g. simpleFoam/pitzDaily3Blocks/constant/polyMesh/faceZones
-      if (currToken == '{')
-        {
-        list.ReadUniformValues(io, size);
-        io.ReadExpecting('}');
-        return;
-        }
-      else if (currToken != '(')
+      if (size > 0)
         {
-        throw vtkFoamError() << "Expected '(', found " << currToken;
+        if (currToken == '{')
+          {
+          list.ReadUniformValues(io, size);
+          io.ReadExpecting('}');
+          return;
+          }
+        else if (currToken != '(')
+          {
+          throw vtkFoamError() << "Expected '(', found " << currToken;
+          }
+        list.ReadAsciiList(io, size);
+        io.ReadExpecting(')');
         }
-      list.ReadAsciiList(io, size);
-      io.ReadExpecting(')');
       }
     else
       {
@@ -3497,11 +3503,13 @@
         && currToken.To<int>() == 0)
       {
       this->Superclass::Type = this->Superclass::EMPTYLIST;
-      if(io.GetFormat() == vtkFoamIOobject::ASCII)
+      // An empty list in ASCII format does not require '()'
+      /* if(io.GetFormat() == vtkFoamIOobject::ASCII)
         {
         io.ReadExpecting('(');
         io.ReadExpecting(')');
         }
+      */
       }
     else
       {
