diff --git a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
index 3dad7868574aa29fa1676b91b7eaf33f5d3a72df..cc3741da12dc94d9348c118fbc5434751df33105 100644
--- a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
+++ b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C
@@ -128,6 +128,18 @@ bool Foam::fileFormats::VTKsurfaceFormat<Face>::read
             zones[i] = label(region[i]);
         }
     }
+    else if (reader.cellData().foundObject<scalarIOField>("STLSolidLabeling"))
+    {
+        const scalarIOField& region =
+            reader.cellData().lookupObject<scalarIOField>
+            (
+                "STLSolidLabeling"
+            );
+        forAll(region, i)
+        {
+            zones[i] = label(region[i]);
+        }
+    }
 
     // Create zone names
     const label nZones = max(zones)+1;