diff --git a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
index 5d35df2e8a728cc2ca9dd07d7d22115f17b45332..76babb0b8c783abf8bdd55e0ee9d412706b5cfab 100644
--- a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
+++ b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
@@ -127,6 +127,7 @@ int main(int argc, char *argv[])
 
     // Points and lines
     DynamicList<point> points;
+    DynamicList<vector> pointNormals;
     DynamicList<labelList> polyLines;
     DynamicList<labelList> polygons;
 
@@ -151,6 +152,14 @@ int main(int argc, char *argv[])
 
             points.append(point(x, y, z));
         }
+        else if (cmd == "vn")
+        {
+            scalar x, y, z;
+
+            lineStream >> x >> y >> z;
+
+            pointNormals.append(vector(x, y, z));
+        }
         else if (cmd == "l")
         {
             polyLines.append(parseVertices(line));
@@ -264,6 +273,14 @@ int main(int argc, char *argv[])
         }
     }
 
+    outFile << nl << "NORMALS pointNormals float\n";
+    forAll(pointNormals, i)
+    {
+        const vector& n = pointNormals[i];
+
+        outFile << n.x() << ' ' << n.y() << ' ' << n.z() << nl;
+    }
+
     Info<< "End\n" << endl;
 
     return 0;