diff --git a/ThirdParty/gl2ps/vtkgl2ps/gl2ps.c b/ThirdParty/gl2ps/vtkgl2ps/gl2ps.c
index 6c98d81..7beac86 100644
--- a/ThirdParty/gl2ps/vtkgl2ps/gl2ps.c
+++ b/ThirdParty/gl2ps/vtkgl2ps/gl2ps.c
@@ -2184,3 +2184,14 @@ static void gl2psAddPolyPrimitive(GLshort type, GLshort numverts,
                                   GLfloat width, char boundary)
 {
   GL2PSprimitive *prim;
+  GL2PSvertex *vert;
+  GLshort i, j;
+
+  /** Discard primitives that have infinite or nan coordinates. */
+  for(i = 0; i < numverts; ++i){
+    vert = verts + i;
+    for(j = 0; j < 3; ++j){
+      if(!isfinite(vert->xyz[j]))
+        return;
+    }
+  }

   prim = (GL2PSprimitive*)gl2psMalloc(sizeof(GL2PSprimitive));
   prim->type = type;
