diff --git a/test/common/generalproblem/CMakeLists.txt b/test/common/generalproblem/CMakeLists.txt
index 7342b3f52a3df84f2f4c53aa55a6d37aea7bc226..fdf3aeb607c63fa7314092063ea445b832ca3cff 100644
--- a/test/common/generalproblem/CMakeLists.txt
+++ b/test/common/generalproblem/CMakeLists.txt
@@ -5,21 +5,21 @@ add_dumux_test(test_general_box test_general test_generalproblem2p.cc
                  --script fuzzy
                  --files ${CMAKE_SOURCE_DIR}/test/references/generallens_box-reference.vtu
                          ${CMAKE_CURRENT_BINARY_DIR}/generallens_box-00003.vtu
-                 --command "${CMAKE_CURRENT_BINARY_DIR}/test_general -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_generalproblem2p_reference.input -ModelType Box")
+                 --command "${CMAKE_CURRENT_BINARY_DIR}/test_general -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_generalproblem2p_reference.input -ModelType box")
 
 add_dumux_test(test_general_cc test_general test_generalproblem2p.cc
                python ${CMAKE_SOURCE_DIR}/bin/runtest.py
                  --script fuzzy
                  --files ${CMAKE_SOURCE_DIR}/test/references/generallens_cc-reference.vtu
                          ${CMAKE_CURRENT_BINARY_DIR}/generallens_cc-00003.vtu
-                 --command "${CMAKE_CURRENT_BINARY_DIR}/test_general -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_generalproblem2p_reference.input -ModelType CC")
+                 --command "${CMAKE_CURRENT_BINARY_DIR}/test_general -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_generalproblem2p_reference.input -ModelType cc")
 
 add_dumux_test(test_general_dec test_general test_generalproblem2p.cc
                python ${CMAKE_SOURCE_DIR}/bin/runtest.py
                  --script fuzzy
                  --files ${CMAKE_SOURCE_DIR}/test/references/generallens_decoupled-reference.vtu
                          ${CMAKE_CURRENT_BINARY_DIR}/generallens_decoupled-00003.vtu
-                 --command "${CMAKE_CURRENT_BINARY_DIR}/test_general -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_generalproblem2p_reference.input -ModelType Decoupled")
+                 --command "${CMAKE_CURRENT_BINARY_DIR}/test_general -ParameterFile ${CMAKE_CURRENT_SOURCE_DIR}/test_generalproblem2p_reference.input -ModelType decoupled")
 
 #install sources
 install(FILES
diff --git a/test/common/generalproblem/generallensproblem.hh b/test/common/generalproblem/generallensproblem.hh
index 7bbc220d8a24fa377a7ffaa3d9fcc3b64ad72831..aff71ccf6dd4f7e70654c077bb70849a43c07500 100644
--- a/test/common/generalproblem/generallensproblem.hh
+++ b/test/common/generalproblem/generallensproblem.hh
@@ -249,8 +249,7 @@ public:
      */
     const std::string name() const
     {
-        try { return GET_RUNTIME_PARAM_FROM_GROUP(TypeTag, std::string, Problem, OutputfileName); }
-        catch (...) { return "test_generalproblem2p"; }
+        return "generallens_" + GET_RUNTIME_PARAM(TypeTag, std::string, ModelType);
     }
 
     /*!
diff --git a/test/common/generalproblem/test_generalproblem2p.cc b/test/common/generalproblem/test_generalproblem2p.cc
index 9c2f2bbd604b8feb5ae54b28be3445b23fbea7f4..889af1db6e1174b6af18311726fd100cf6c1beb5 100644
--- a/test/common/generalproblem/test_generalproblem2p.cc
+++ b/test/common/generalproblem/test_generalproblem2p.cc
@@ -45,7 +45,7 @@ void usage(const char *progName, const std::string &errorMsg)
                 "\t-Grid.UpperRightX              Dimension of the grid [m]\n"
                 "\t-Grid.UpperRightY              Dimension of the grid [m]\n";
         errorMessageOut += "\n\nThe Optional command line argument:\n"
-                "\t-ModelType                     Can be: Box (2p box model), Decoupled (2p impes model),\n";
+                "\t-ModelType                     Can be: box (2p box model), cc (2p cc model), decoupled (2p impes model),\n";
         std::cout << errorMessageOut << "\n";
     }
 }
@@ -54,76 +54,34 @@ int main(int argc, char** argv)
 {
     Dune::ParameterTree paramTree;
     std::string s(Dumux::readOptions_(argc, argv, paramTree));
-    if (s.empty())
+    if (s.empty()) // everything was read correctly
     {
-        if (paramTree.hasKey("ModelType"))
+        // default model type is box
+        const std::string modelType(paramTree.get<std::string>("ModelType", "box"));
+        if (modelType == "box")
         {
-            std::string modelType(paramTree.get<std::string>("ModelType"));
-
-            if (modelType == "Box")
-            {
-                typedef TTAG(BoxGeneralLensProblem) ProblemTypeTag;
-                typedef GET_PROP(ProblemTypeTag, ParameterTree) ParamTree;
-                Dune::ParameterTree &rt = ParamTree::runTimeParams();
-                rt["ModelType"]=modelType;
-                ParamTree::tree()["Problem.OutputfileName"] = "generallens_box";
-                int startReturn =  Dumux::start<ProblemTypeTag>(argc, argv, usage);
-                std::cout<<"######################################################\n";
-                std::cout<<"Used box 2p model\n";
-                return startReturn;
-            }
-            else if (modelType == "CC")
-            {
-                typedef TTAG(CCGeneralLensProblem) ProblemTypeTag;
-                typedef GET_PROP(ProblemTypeTag, ParameterTree) ParamTree;
-                Dune::ParameterTree &rt = ParamTree::runTimeParams();
-                rt["ModelType"]=modelType;
-                ParamTree::tree()["Problem.OutputfileName"] = "generallens_cc";
-                int startReturn =  Dumux::start<ProblemTypeTag>(argc, argv, usage);
-                std::cout<<"######################################################\n";
-                std::cout<<"Used cc 2p model\n";
-                return startReturn;
-            }
-            else if (modelType == "Decoupled")
-            {
-                typedef TTAG(DecoupledGeneralLensProblem) ProblemTypeTag;
-                typedef GET_PROP(ProblemTypeTag, ParameterTree) ParamTree;
-                Dune::ParameterTree &rt = ParamTree::runTimeParams();
-                rt["ModelType"]=modelType;
-                ParamTree::tree()["Problem.OutputfileName"] = "generallens_decoupled";
-                int startReturn =  Dumux::start<ProblemTypeTag>(argc, argv, usage);
-                std::cout<<"######################################################\n";
-                std::cout<<"Used decoupled 2p model\n";
-                return startReturn;
-            }
-            else
-            {
-                typedef TTAG(BoxGeneralLensProblem) ProblemTypeTag;
-                int startReturn =  Dumux::start<ProblemTypeTag>(argc, argv, usage);
-                std::cout<<"######################################################\n";
-                std::cout<<"Unknwon model type "<<modelType<<" specified\n";
-                std::cout<<"Default to box model\n";
-                return startReturn;
-            }
+            typedef TTAG(BoxGeneralLensProblem) ProblemTypeTag;
+            GET_PROP(ProblemTypeTag, ParameterTree)::runTimeParams()["ModelType"] = "box";
+            return Dumux::start<ProblemTypeTag>(argc, argv, usage);
+        }
+        else if (modelType == "cc")
+        {
+            typedef TTAG(CCGeneralLensProblem) ProblemTypeTag;
+            return Dumux::start<ProblemTypeTag>(argc, argv, usage);
+        }
+        else if (modelType == "decoupled")
+        {
+            typedef TTAG(DecoupledGeneralLensProblem) ProblemTypeTag;
+            return Dumux::start<ProblemTypeTag>(argc, argv, usage);
         }
         else
         {
-            typedef TTAG(BoxGeneralLensProblem) ProblemTypeTag;
-            int startReturn =  Dumux::start<ProblemTypeTag>(argc, argv, usage);
-            std::cout<<"######################################################\n";
-            std::cout<<"No model type specified\n";
-            std::cout<<"Default to box model\n";
-            return startReturn;
+            Dumux::ParameterException e("Unknown ModelType: " + modelType);
+            std::cerr << e << ". Abort!" << std::endl
+                      << "ModelType can be: box (2p box model), cc (2p cc model), decoupled (2p impes model)" << std::endl;
+            exit(1);
         }
     }
     else
-    {
-        typedef TTAG(BoxGeneralLensProblem) ProblemTypeTag;
-        int startReturn =  Dumux::start<ProblemTypeTag>(argc, argv, usage);
-        std::cout<<"######################################################\n";
-        std::cout<<s<<" is not a valid model type specification!\n";
-        std::cout<<"Default to box model\n";
-        return startReturn;
-    }
+        DUNE_THROW(Dumux::ParameterException, "Unknown command line option " << s);
 }
-