diff --git a/dumux/common/start.hh b/dumux/common/start.hh
index 5596477882f7aaa05e0c98e0a48cd33786124ad3..9e890f147e0e9afbe3dd8c78aeb1277ae093e36b 100644
--- a/dumux/common/start.hh
+++ b/dumux/common/start.hh
@@ -499,13 +499,20 @@ int start(int argc,
         std::cerr << e << ". Abort!\n";
         return 1;
     }
+    catch (Dune::DGFException & e) {
+    std::cerr << "DGF exception thrown. "
+                 "Most likely, the DGF file name is wrong "
+                 "or the DGF file is corrupted, "
+                 "e.g. missing hash at end of file or wrong number (dimensions) of entries." << std::endl;
+    return 2;
+    }
     catch (Dune::Exception &e) {
         std::cerr << "Dune reported error: " << e << std::endl;
-        return 2;
+        return 3;
     }
     catch (...) {
         std::cerr << "Unknown exception thrown!\n";
-        return 3;
+        return 4;
     }
 }