Index: src/Actions/CmdAction/FastParsingAction.cpp
===================================================================
--- src/Actions/CmdAction/FastParsingAction.cpp	(revision bf38179e7a1590020bad970c4931116d7d7e9bbb)
+++ src/Actions/CmdAction/FastParsingAction.cpp	(revision 31fb1df09428e7671debb5867061ee049cbbd546)
@@ -33,8 +33,10 @@
 class CommandLineFastParsingState : public ActionState {
 public:
-  CommandLineFastParsingState(bool _bool) :
-    boolean(_bool)
+  CommandLineFastParsingState(const bool _oldvalue, const bool _newvalue) :
+    oldvalue(_oldvalue),
+    newvalue(_newvalue)
   {}
-  bool boolean;
+  bool oldvalue;
+  bool newvalue;
 };
 
@@ -63,12 +65,14 @@
 
 Action::state_ptr CommandLineFastParsingAction::performCall() {
-
   config *configuration = World::getInstance().getConfig();
-  ValueStorage::getInstance().queryCurrentValue(NAME, configuration->FastParsing);
+  bool oldvalue = configuration->FastParsing;
+  bool newvalue;
+  ValueStorage::getInstance().queryCurrentValue(NAME, newvalue);
+  configuration->FastParsing = newvalue;
   if (configuration->FastParsing)
     DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
   else
     DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
-  return Action::success;
+  return Action::state_ptr(new CommandLineFastParsingState(oldvalue, newvalue));
 }
 
@@ -77,11 +81,24 @@
 
   config *configuration = World::getInstance().getConfig();
-  configuration->FastParsing = state->boolean;
+  configuration->FastParsing = state->oldvalue;
+  if (configuration->FastParsing)
+    DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
+  else
+    DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
 
-  return Action::state_ptr(new CommandLineFastParsingState(!state->boolean));
+  return Action::state_ptr(_state);
 }
 
 Action::state_ptr CommandLineFastParsingAction::performRedo(Action::state_ptr _state){
-  return performUndo(_state);
+  CommandLineFastParsingState *state = assert_cast<CommandLineFastParsingState*>(_state.get());
+
+  config *configuration = World::getInstance().getConfig();
+  configuration->FastParsing = state->newvalue;
+  if (configuration->FastParsing)
+    DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
+  else
+    DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
+
+  return Action::state_ptr(_state);
 }
 
Index: src/Actions/CmdAction/VerboseAction.cpp
===================================================================
--- src/Actions/CmdAction/VerboseAction.cpp	(revision bf38179e7a1590020bad970c4931116d7d7e9bbb)
+++ src/Actions/CmdAction/VerboseAction.cpp	(revision 31fb1df09428e7671debb5867061ee049cbbd546)
@@ -31,8 +31,10 @@
 class CommandLineVerboseState : public ActionState {
 public:
-  CommandLineVerboseState(int _verbosity) :
-    verbosity(_verbosity)
+  CommandLineVerboseState(const int _oldverbosity, const int _newverbosity) :
+    oldverbosity(_oldverbosity),
+    newverbosity(_newverbosity)
   {}
-  int verbosity;
+  int oldverbosity;
+  int newverbosity;
 };
 
@@ -61,11 +63,18 @@
 
 Action::state_ptr CommandLineVerboseAction::performCall() {
-  int verbosity = 2;
+  int oldverbosity = getVerbosity();
+  int newverbosity = 2;
 
-  ValueStorage::getInstance().queryCurrentValue(NAME, verbosity);
+  ValueStorage::getInstance().queryCurrentValue(NAME, newverbosity);
 
-  setVerbosity(verbosity);
-  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity to " << verbosity << "." << endl);
-  return Action::success;
+  if (oldverbosity != newverbosity) {
+    CommandLineVerboseState *UndoState = new CommandLineVerboseState(oldverbosity, newverbosity);
+    setVerbosity(newverbosity);
+    DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << oldverbosity << " to " << newverbosity << "." << endl);
+    return Action::state_ptr(UndoState);
+  } else {
+    DoLog(0) && (Log() << Verbose(0) << "Verbosity remains unchanged at " << oldverbosity << "." << endl);
+    return Action::failure;
+  }
 }
 
@@ -73,13 +82,17 @@
   CommandLineVerboseState *state = assert_cast<CommandLineVerboseState*>(_state.get());
 
-  int verbosity = 2;
-  ValueStorage::getInstance().queryCurrentValue(NAME, verbosity);
+  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << state->newverbosity << " to " << state->oldverbosity << "." << endl);
+  setVerbosity(state->oldverbosity);
 
-  setVerbosity(state->verbosity);
-  return Action::state_ptr(new CommandLineVerboseState(verbosity));
+  return Action::state_ptr(_state);
 }
 
 Action::state_ptr CommandLineVerboseAction::performRedo(Action::state_ptr _state){
-  return performUndo(_state);
+  CommandLineVerboseState *state = assert_cast<CommandLineVerboseState*>(_state.get());
+
+  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << state->oldverbosity << " to " << state->newverbosity << "." << endl);
+  setVerbosity(state->newverbosity);
+
+  return Action::state_ptr(_state);
 }
 
