Index: src/Actions/CommandAction/HelpAction.def
===================================================================
--- src/Actions/CommandAction/HelpAction.def	(revision 27e46467b8c07a7572d5e0ff60deede52265f11a)
+++ src/Actions/CommandAction/HelpAction.def	(revision eea0bb05612500f136b8abe63050f5bae25febbe)
@@ -18,5 +18,5 @@
 // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
 #define paramtypes (std::string)
-#define paramtokens ("actionname")
+#define paramtokens ("help")
 #define paramdescriptions ("Name of an action whose option list is then given")
 #define paramdefaults (PARAM_DEFAULT(std::string("none")))
Index: src/UIElements/CommandLineUI/CommandLineParser.cpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineParser.cpp	(revision 27e46467b8c07a7572d5e0ff60deede52265f11a)
+++ src/UIElements/CommandLineUI/CommandLineParser.cpp	(revision eea0bb05612500f136b8abe63050f5bae25febbe)
@@ -147,5 +147,7 @@
 //        std::cout << std::endl;
 
-        AddOptionToParser(currentOption, (CmdParserLookup["options"]));
+        AddOptionToParser(currentOption, (CmdParserLookup["options"]),
+            (optioniter->first == *iter) ?
+                true : false);
 
         AlreadyAddedOptionNames.insert(optioniter->first);
@@ -174,5 +176,8 @@
       ASSERT(CmdParserLookup.find(CurrentTrait.getMenuName()) != CmdParserLookup.end(),
           "CommandLineParser: boost::program_options::options_description for this Action not present.");
-      AddOptionToParser(dynamic_cast<const OptionTrait * const>(&CurrentTrait),(CmdParserLookup[CurrentTrait.getMenuName()]));
+      AddOptionToParser(
+          dynamic_cast<const OptionTrait * const>(&CurrentTrait),
+          (CmdParserLookup[CurrentTrait.getMenuName()]),
+          false);
     }
   }
@@ -191,6 +196,12 @@
  * \param *currentOption pointer to Action/Option to add
  * \param *OptionList program_options list to add to
- */
-void CommandLineParser::AddOptionToParser(const OptionTrait * const currentOption, po::options_description* OptionList)
+ * \param _DefaultAsImplicit whether to add a default value as default_value or
+ *        as implicit_value (default = option token present or not, implicit =
+          option token present but not necessarily followed by argument)
+ */
+void CommandLineParser::AddOptionToParser(
+    const OptionTrait * const currentOption, 
+    po::options_description* OptionList,
+    const bool _DefaultAsImplicit)
 {
   // check whether dynamic_cast in Init() suceeded
@@ -212,5 +223,7 @@
         (currentOption->getKeyAndShortForm().c_str(),
             currentOption->hasDefaultValue() ?
-                  po::value < bool >()->default_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str())) :
+                  (_DefaultAsImplicit ? 
+                      po::value < bool >()->implicit_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str())) :
+                      po::value < bool >()->default_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str()))) :
                   po::value < bool >(),
                   currentOption->getDescription().c_str())
@@ -239,5 +252,7 @@
         (currentOption->getKeyAndShortForm().c_str(),
             currentOption->hasDefaultValue() ?
-                  po::value < int >()->default_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str())) :
+                  (_DefaultAsImplicit ? 
+                      po::value < int >()->implicit_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str())) :
+                      po::value < int >()->default_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str()))) :
                   po::value < int >(),
                   currentOption->getDescription().c_str())
@@ -257,5 +272,7 @@
         (currentOption->getKeyAndShortForm().c_str(),
             currentOption->hasDefaultValue() ?
-                  po::value < unsigned int >()->default_value(boost::lexical_cast<unsigned int>(currentOption->getDefaultValue().c_str())) :
+                  (_DefaultAsImplicit ? 
+                      po::value < unsigned int >()->implicit_value(boost::lexical_cast<unsigned int>(currentOption->getDefaultValue().c_str())) :
+                      po::value < unsigned int >()->default_value(boost::lexical_cast<unsigned int>(currentOption->getDefaultValue().c_str()))) :
                   po::value < unsigned int >(),
                   currentOption->getDescription().c_str())
@@ -275,5 +292,7 @@
         (currentOption->getKeyAndShortForm().c_str(),
             currentOption->hasDefaultValue() ?
-                  po::value < double >()->default_value(boost::lexical_cast<double>(currentOption->getDefaultValue().c_str())) :
+                  (_DefaultAsImplicit ? 
+                      po::value < double >()->implicit_value(boost::lexical_cast<double>(currentOption->getDefaultValue().c_str())) :
+                      po::value < double >()->default_value(boost::lexical_cast<double>(currentOption->getDefaultValue().c_str()))) :
                   po::value < double >(),
                   currentOption->getDescription().c_str())
@@ -293,5 +312,7 @@
         (currentOption->getKeyAndShortForm().c_str(),
             currentOption->hasDefaultValue() ?
-                  po::value < std::string >()->default_value(currentOption->getDefaultValue()) :
+                  (_DefaultAsImplicit ? 
+                      po::value < std::string >()->implicit_value(currentOption->getDefaultValue()) :
+                      po::value < std::string >()->default_value(currentOption->getDefaultValue())) :
                   po::value < std::string >(),
                   currentOption->getDescription().c_str())
@@ -347,5 +368,7 @@
         (currentOption->getKeyAndShortForm().c_str(),
             currentOption->hasDefaultValue() ?
-                  po::value < int >()->default_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str())) :
+                  (_DefaultAsImplicit ? 
+                      po::value < int >()->implicit_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str())) :
+                      po::value < int >()->default_value(boost::lexical_cast<int>(currentOption->getDefaultValue().c_str()))) :
                   po::value < int >(),
                   currentOption->getDescription().c_str())
@@ -383,5 +406,7 @@
         (currentOption->getKeyAndShortForm().c_str(),
             currentOption->hasDefaultValue() ?
-                  po::value < std::string >()->default_value(boost::lexical_cast< std::string >(currentOption->getDefaultValue().c_str())) :
+                  (_DefaultAsImplicit ? 
+                      po::value < std::string >()->implicit_value(boost::lexical_cast< std::string >(currentOption->getDefaultValue().c_str())) :
+                      po::value < std::string >()->default_value(boost::lexical_cast< std::string >(currentOption->getDefaultValue().c_str()))) :
                   po::value < std::string >(),
                   currentOption->getDescription().c_str())
@@ -438,5 +463,6 @@
     po::store(po::command_line_parser(argc,argv).options(cmdline_options).run(), vm);
   } catch (std::exception &e) {
-    std::cerr << "Something went wrong with parsing the command-line arguments." << std::endl;
+    std::cerr << "Something went wrong with parsing the command-line arguments: " 
+        << e.what() << std::endl;
     World::getInstance().setExitFlag(134);
 #ifdef HAVE_ACTION_THREAD
Index: src/UIElements/CommandLineUI/CommandLineParser.hpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineParser.hpp	(revision 27e46467b8c07a7572d5e0ff60deede52265f11a)
+++ src/UIElements/CommandLineUI/CommandLineParser.hpp	(revision eea0bb05612500f136b8abe63050f5bae25febbe)
@@ -90,5 +90,8 @@
 
   // adds options to the parser
-  void AddOptionToParser(const MoleCuilder::OptionTrait * const currentOption, po::options_description* OptionList);
+  void AddOptionToParser(
+      const MoleCuilder::OptionTrait * const currentOption, 
+      po::options_description* OptionList,
+      const bool _DefaultAsImplicit);
 
   // creates a map from short forms to action tokens needed to parse command line
Index: tests/Python/AllActions/options.dat
===================================================================
--- tests/Python/AllActions/options.dat	(revision 27e46467b8c07a7572d5e0ff60deede52265f11a)
+++ tests/Python/AllActions/options.dat	(revision eea0bb05612500f136b8abe63050f5bae25febbe)
@@ -1,4 +1,3 @@
 #key	value
-actionname	"help"
 add-atom	"1"
 add-empty-boundary	"5,5,5"
@@ -88,4 +87,5 @@
 fragment-resultfile	"results.dat"
 grid-level	"5"
+help	"help"
 id-mapping	"1"
 input	"test.data"
Index: tests/regression/Options/Help/testsuite-options-help.at
===================================================================
--- tests/regression/Options/Help/testsuite-options-help.at	(revision 27e46467b8c07a7572d5e0ff60deede52265f11a)
+++ tests/regression/Options/Help/testsuite-options-help.at	(revision eea0bb05612500f136b8abe63050f5bae25febbe)
@@ -27,5 +27,5 @@
 AT_CHECK([fgrep "list of all available Actions" stdout], 0, [ignore], [ignore])
 AT_CHECK([fgrep "Usage help" stdout], 0, [ignore], [ignore])
-AT_CHECK([../../molecuilder --help --actionname "help"], 0, [stdout], [ignore])
+AT_CHECK([../../molecuilder --help "help"], 0, [stdout], [ignore])
 AT_CHECK([fgrep "Options available for action 'help'" stdout], 0, [ignore], [ignore])
 
Index: tests/regression/Potential/FitPotential/testsuite-potential-fit-potential.at
===================================================================
--- tests/regression/Potential/FitPotential/testsuite-potential-fit-potential.at	(revision 27e46467b8c07a7572d5e0ff60deede52265f11a)
+++ tests/regression/Potential/FitPotential/testsuite-potential-fit-potential.at	(revision eea0bb05612500f136b8abe63050f5bae25febbe)
@@ -21,5 +21,5 @@
 AT_SETUP([Potential - Fit morse potential to water])
 AT_KEYWORDS([potential parse-homologies fit-potential morse])
-AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
+AT_SKIP_IF([../../molecuilder --help fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 
 file=length_homology.dat
@@ -47,5 +47,5 @@
 AT_SETUP([Potential - Fit harmonic potential to water])
 AT_KEYWORDS([potential parse-homologies fit-potential harmonic])
-AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
+AT_SKIP_IF([../../molecuilder --help fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 
 file=harmonic_homology.dat
@@ -73,5 +73,5 @@
 AT_SETUP([Potential - Fit harmonic_angle potential to water])
 AT_KEYWORDS([potential parse-homologies fit-potential harmonic_angle])
-AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
+AT_SKIP_IF([../../molecuilder --help fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 
 file=angle_homology.dat
@@ -99,5 +99,5 @@
 AT_SETUP([Potential - Fit torsion potential to butane])
 AT_KEYWORDS([potential parse-homologies fit-potential torsion])
-AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
+AT_SKIP_IF([../../molecuilder --help fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 
 file=torsion_homology.dat
@@ -125,5 +125,5 @@
 AT_SETUP([Potential - Fit improper potential to ammonia])
 AT_KEYWORDS([potential parse-homologies fit-potential improper])
-AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
+AT_SKIP_IF([../../molecuilder --help fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 
 file=improper_homology.dat
@@ -152,5 +152,5 @@
 AT_SETUP([Potential - Fit LJ potential to argon])
 AT_KEYWORDS([potential parse-homologies fit-potential lennardjones])
-AT_SKIP_IF([../../molecuilder --help --actionname fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
+AT_SKIP_IF([../../molecuilder --help fit-potential; if test $? -eq 5; then /bin/true; else /bin/false; fi])
 
 file=lj_homology.dat
