diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
index 8a366d1a223892b41cc272f2361b6197308c3bd4..22bd164e92fe8e96bf535e0d9d12a9dbc5d5ad2f 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightField.C
@@ -259,7 +259,7 @@ void writePatchField
 
     word timeFile = prepend + itoa(timeIndex);
 
-    autoPtr<ensightStream> ensightFilePtr;
+    ensightStream* ensightFilePtr = NULL;
     if (Pstream::master())
     {
         if (timeIndex == 0)
@@ -279,29 +279,23 @@ void writePatchField
 
         if (binary)
         {
-            ensightFilePtr.reset
+            ensightFilePtr = new ensightBinaryStream
             (
-                new ensightBinaryStream
-                (
-                    postProcPath/ensightFileName,
-                    runTime
-                )
+                postProcPath/ensightFileName,
+                runTime
             );
         }
         else
         {
-            ensightFilePtr.reset
+            ensightFilePtr = new ensightAsciiStream
             (
-                new ensightAsciiStream
-                (
-                    postProcPath/ensightFileName,
-                    runTime
-                )
+                postProcPath/ensightFileName,
+                runTime
             );
         }
     }
 
-    ensightStream& ensightFile = ensightFilePtr();
+    ensightStream& ensightFile = *ensightFilePtr;
 
     if (Pstream::master())
     {
@@ -334,6 +328,11 @@ void writePatchField
             ensightFile
         );
     }
+
+    if (Pstream::master())
+    {
+        delete ensightFilePtr;
+    }
 }
 
 
@@ -374,7 +373,7 @@ void ensightField
     const labelList& hexes = meshCellSets.hexes;
     const labelList& polys = meshCellSets.polys;
 
-    autoPtr<ensightStream> ensightFilePtr;
+    ensightStream* ensightFilePtr = NULL;
     if (Pstream::master())
     {
         // set the filename of the ensight file
@@ -382,29 +381,23 @@ void ensightField
 
         if (binary)
         {
-            ensightFilePtr.reset
+            ensightFilePtr = new ensightBinaryStream
             (
-                new ensightBinaryStream
-                (
-                    postProcPath/ensightFileName,
-                    runTime
-                )
+                postProcPath/ensightFileName,
+                runTime
             );
         }
         else
         {
-            ensightFilePtr.reset
+            ensightFilePtr = new ensightAsciiStream
             (
-                new ensightAsciiStream
-                (
-                    postProcPath/ensightFileName,
-                    runTime
-                )
+                postProcPath/ensightFileName,
+                runTime
             );
         }
     }
 
-    ensightStream& ensightFile = ensightFilePtr();
+    ensightStream& ensightFile = *ensightFilePtr;
 
     if (patchNames.empty())
     {
@@ -595,6 +588,10 @@ void ensightField
             }
         }
     }
+    if (Pstream::master())
+    {
+        delete ensightFilePtr;
+    }
 }
 
 
@@ -614,10 +611,7 @@ void ensightPointField
 
     word timeFile = prepend + itoa(timeIndex);
 
-    //const fvMesh& mesh = eMesh.mesh();
-    //const Time& runTime = mesh.time();
-
-    autoPtr<ensightStream> ensightFilePtr;
+    ensightStream* ensightFilePtr = NULL;
     if (Pstream::master())
     {
         // set the filename of the ensight file
@@ -625,29 +619,23 @@ void ensightPointField
 
         if (binary)
         {
-            ensightFilePtr.reset
+            ensightFilePtr = new ensightBinaryStream
             (
-                new ensightBinaryStream
-                (
-                    postProcPath/ensightFileName,
-                    eMesh.mesh().time()
-                )
+                postProcPath/ensightFileName,
+                eMesh.mesh().time()
             );
         }
         else
         {
-            ensightFilePtr.reset
+            ensightFilePtr = new ensightAsciiStream
             (
-                new ensightAsciiStream
-                (
-                    postProcPath/ensightFileName,
-                    eMesh.mesh().time()
-                )
+                postProcPath/ensightFileName,
+                eMesh.mesh().time()
             );
         }
     }
 
-    ensightStream& ensightFile = ensightFilePtr();
+    ensightStream& ensightFile = *ensightFilePtr;
 
     if (eMesh.patchNames().empty())
     {
@@ -700,6 +688,11 @@ void ensightPointField
             }
         }
     }
+
+    if (Pstream::master())
+    {
+        delete ensightFilePtr;
+    }
 }
 
 
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
index c1d36da21086e9770cc800946bc4f3919a1ce1a2..59c30e34939c78b12cfa3dc355816c85f0a1be2b 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/ensightMesh.C
@@ -1012,35 +1012,29 @@ void Foam::ensightMesh::write
     // set the filename of the ensight file
     fileName ensightGeometryFileName = timeFile + "mesh";
 
-    autoPtr<ensightStream> ensightGeometryFilePtr;
+    ensightStream* ensightGeometryFilePtr = NULL;
     if (Pstream::master())
     {
         if (binary_)
         {
-            ensightGeometryFilePtr.reset
+            ensightGeometryFilePtr = new ensightBinaryStream
             (
-                new ensightBinaryStream
-                (
-                    postProcPath/ensightGeometryFileName,
-                    runTime
-                )
+                postProcPath/ensightGeometryFileName,
+                runTime
             );
-            ensightGeometryFilePtr().write("C binary");
+            ensightGeometryFilePtr->write("C binary");
         }
         else
         {
-            ensightGeometryFilePtr.reset
+            ensightGeometryFilePtr = new ensightAsciiStream
             (
-                new ensightAsciiStream
-                (
-                    postProcPath/ensightGeometryFileName,
-                    runTime
-                )
+                postProcPath/ensightGeometryFileName,
+                runTime
             );
         }
     }
 
-    ensightStream& ensightGeometryFile = ensightGeometryFilePtr();
+    ensightStream& ensightGeometryFile = *ensightGeometryFilePtr;
 
     if (Pstream::master())
     {
@@ -1289,6 +1283,11 @@ void Foam::ensightMesh::write
             );
         }
     }
+
+    if (Pstream::master())
+    {
+        delete ensightGeometryFilePtr;
+    }
 }