diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
index 6c1065a489bd03ba9ba0a144eb594ecdaf3efef3..44384b7efe560600e4a7736e13445f07631b426c 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C
@@ -1077,83 +1077,92 @@ int main(int argc, char *argv[])
             {
                 const faceZone& pp = zones[zoneI];
 
-                const indirectPrimitivePatch ipp
-                (
-                    IndirectList<face>(mesh.faces(), pp),
-                    mesh.points()
-                );
-
-                writer.writePolygonalZone
-                (
-                    pp.name(),
-                    strandID++, //1+patchIDs.size()+zoneI,    //strandID,
-                    ipp,
-                    allVarLocation
-                );
-
-                // Write coordinates
-                writer.writeField(ipp.localPoints().component(0)());
-                writer.writeField(ipp.localPoints().component(1)());
-                writer.writeField(ipp.localPoints().component(2)());
-
-                // Write all volfields
-                forAll(vsf, i)
+                if (pp.size() > 0)
                 {
-                    writer.writeField
+                    const indirectPrimitivePatch ipp
                     (
-                        writer.getFaceField
-                        (
-                            linearInterpolate(vsf[i])(),
-                            pp
-                        )()
+                        IndirectList<face>(mesh.faces(), pp),
+                        mesh.points()
                     );
-                }
-                forAll(vvf, i)
-                {
-                    writer.writeField
+
+                    writer.writePolygonalZone
                     (
-                        writer.getFaceField
-                        (
-                            linearInterpolate(vvf[i])(),
-                            pp
-                        )()
+                        pp.name(),
+                        strandID++, //1+patchIDs.size()+zoneI,    //strandID,
+                        ipp,
+                        allVarLocation
                     );
-                }
-                forAll(vSpheretf, i)
-                {
-                    writer.writeField
-                    (
-                        writer.getFaceField
+
+                    // Write coordinates
+                    writer.writeField(ipp.localPoints().component(0)());
+                    writer.writeField(ipp.localPoints().component(1)());
+                    writer.writeField(ipp.localPoints().component(2)());
+
+                    // Write all volfields
+                    forAll(vsf, i)
+                    {
+                        writer.writeField
                         (
-                            linearInterpolate(vSpheretf[i])(),
-                            pp
-                        )()
-                    );
-                }
-                forAll(vSymmtf, i)
-                {
-                    writer.writeField
-                    (
-                        writer.getFaceField
+                            writer.getFaceField
+                            (
+                                linearInterpolate(vsf[i])(),
+                                pp
+                            )()
+                        );
+                    }
+                    forAll(vvf, i)
+                    {
+                        writer.writeField
                         (
-                            linearInterpolate(vSymmtf[i])(),
-                            pp
-                        )()
-                    );
+                            writer.getFaceField
+                            (
+                                linearInterpolate(vvf[i])(),
+                                pp
+                            )()
+                        );
+                    }
+                    forAll(vSpheretf, i)
+                    {
+                        writer.writeField
+                        (
+                            writer.getFaceField
+                            (
+                                linearInterpolate(vSpheretf[i])(),
+                                pp
+                            )()
+                        );
+                    }
+                    forAll(vSymmtf, i)
+                    {
+                        writer.writeField
+                        (
+                            writer.getFaceField
+                            (
+                                linearInterpolate(vSymmtf[i])(),
+                                pp
+                            )()
+                        );
+                    }
+                    forAll(vtf, i)
+                    {
+                        writer.writeField
+                        (
+                            writer.getFaceField
+                            (
+                                linearInterpolate(vtf[i])(),
+                                pp
+                            )()
+                        );
+                    }
+
+                    writer.writeConnectivity(ipp);
                 }
-                forAll(vtf, i)
+                else
                 {
-                    writer.writeField
-                    (
-                        writer.getFaceField
-                        (
-                            linearInterpolate(vtf[i])(),
-                            pp
-                        )()
-                    );
+                    Info<< "    Skipping zero sized faceZone " << zoneI
+                        << "\t" << pp.name()
+                        << nl << endl;
                 }
-
-                writer.writeConnectivity(ipp);
             }
         }