diff --git a/src/amdis/FileWriter.hpp b/src/amdis/FileWriter.hpp
index 50ee4bb53cd8c730ceaf9cb25fe8e9034c963998..512f70bb0920aae6f73dcdb93f7c77b1999ed22a 100644
--- a/src/amdis/FileWriter.hpp
+++ b/src/amdis/FileWriter.hpp
@@ -89,6 +89,9 @@ namespace AMDiS
         vtkSeqWriter_ = std::make_shared<VTKSequenceWriter<GridView>>(vtkWriter_);
 
       vtkWriter_->addVertexData(discreteFct_, Dune::VTK::FieldInfo(name_, VTKFieldType<Range>, VTKFieldSize<Range>));
+
+      test_exit(dir_ == "." || filesystem::exists(dir_), "Output directory '{}' does not exist!",dir_);
+      filesystem::create_directories(dir_ + "/data");
     }
 
     void init(std::string const&, tag::unknown) {}