diff --git a/src/mesh_common/vtk/VTKMeshWriter.h b/src/mesh_common/vtk/VTKMeshWriter.h
index 1cbac3eed354218aaef69cf9882647a9e19cde69..5d6822c3908f6472a52a9d5094470a91fe8487c7 100644
--- a/src/mesh_common/vtk/VTKMeshWriter.h
+++ b/src/mesh_common/vtk/VTKMeshWriter.h
@@ -106,7 +106,7 @@ public:
    inline bool isFaceFilterSet()                         const { return static_cast<bool>(faceFilter_);        }
 
    void incrementTimeStep()      { ++timestep_; }
-   bool isWriteScheduled() const { return timestep_ % writeFrequency_ == 0; }
+   bool isWriteScheduled() const { return writeFrequency_ > 0 && timestep_ % writeFrequency_ == 0; }
 
 protected:
    void write( std::ostream & os ) const;
diff --git a/tests/mesh/MeshVTKTest.cpp b/tests/mesh/MeshVTKTest.cpp
index c602adc9d29728b6a5404d03081f484e2c24e0c9..e7efb707c8cc82e80d25ec6680e537c525529b6b 100644
--- a/tests/mesh/MeshVTKTest.cpp
+++ b/tests/mesh/MeshVTKTest.cpp
@@ -150,6 +150,11 @@ void test( const std::string & meshFile )
    meshWriterStatusfiltered.setFaceFilter( mesh::StatusFaceFilter< MeshType >( OpenMesh::Attributes::TAGGED ) );
 
    meshWriterStatusfiltered();
+
+
+   VTKMeshWriter< MeshType > meshWriterDeactivated( mesh, "mesh_vtk_test_deactivated", 0 );
+
+   meshWriterDeactivated();
 }