Index: src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.cpp
===================================================================
--- src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.cpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
+++ src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.cpp	(revision a483e4e2bea6c72cb2715059a1e35ee18731c342)
@@ -55,10 +55,13 @@
       RandomNumberDistributionFactory::getInstance().getPrototype().getParameterSet();
   // set each parameter (that is not -1);
-  if (!params.parameters.get().isDefault()) {
+  {
+    std::stringstream input(params.parameters.get());
     RandomNumberDistribution_Parameters *currentparameters =
         RandomNumberDistributionFactory::getInstance().getPrototype().getParameterSet();
-    currentparameters->update(params.parameters.get());
-    LOG(1, "INFO: Changing prototype's parameters to " << params.parameters.get() << ".");
-    RandomNumberDistributionFactory::getInstance().manipulatePrototype(*currentparameters);
+    input >> *currentparameters;  // add new values on top
+    if (!currentparameters->isDefault()) {
+      LOG(1, "Changing prototype's parameters.");
+      RandomNumberDistributionFactory::getInstance().manipulatePrototype(*currentparameters);
+    }
     delete currentparameters;
   }
@@ -71,6 +74,8 @@
   }
 
+  std::stringstream output;
+  output << *oldparameters;
   CommandSetRandomNumbersDistributionState *newstate =
-      new CommandSetRandomNumbersDistributionState(oldtype,*oldparameters,params);
+      new CommandSetRandomNumbersDistributionState(oldtype,output.str(),params);
   delete oldparameters;
   return Action::state_ptr(newstate);
@@ -94,7 +99,14 @@
 
   // set each parameter back (that is not -1);
-  if (!state->old_parameters.isDefault()) {
-    LOG(1, "INFO: Changing back prototype's parameters to " << state->old_parameters << ".");
-    RandomNumberDistributionFactory::getInstance().manipulatePrototype(state->old_parameters);
+  {
+    std::stringstream input(state->old_parameters);
+    RandomNumberDistribution_Parameters *currentparameters =
+        RandomNumberDistributionFactory::getInstance().getPrototype().getParameterSet();
+    input >> *currentparameters;
+    if (!currentparameters->isDefault()) {
+      LOG(1, "Changing prototype's parameters.");
+      RandomNumberDistributionFactory::getInstance().manipulatePrototype(*currentparameters);
+    }
+    delete currentparameters;
   }
 
@@ -106,6 +118,8 @@
   }
 
+  std::stringstream output;
+  output << *newparameters;
   CommandSetRandomNumbersDistributionState *newstate =
-      new CommandSetRandomNumbersDistributionState(newtype,*newparameters,params);
+      new CommandSetRandomNumbersDistributionState(newtype,output.str(),params);
   delete newparameters;
   return Action::state_ptr(newstate);
Index: src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.def
===================================================================
--- src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.def	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
+++ src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.def	(revision a483e4e2bea6c72cb2715059a1e35ee18731c342)
@@ -7,10 +7,10 @@
 
 // all includes and forward declarations necessary for non-integral types below
-#include "RandomNumbers/RandomNumberDistribution_Parameters.hpp"
+#include <string>
 
 // i.e. there is an integer with variable name Z that can be found in
 // ValueStorage by the token "Z" -> first column: int, Z, "Z"
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
-#define paramtypes (std::string)(class RandomNumberDistribution_Parameters)
+#define paramtypes (std::string)(std::string)
 #define paramtokens ("set-random-number-distribution")("random-number-distribution-parameters")
 #define paramdescriptions ("name of the distribution from boost::random")("parameter set for requested distribution")
@@ -18,5 +18,5 @@
 #define paramreferences (distribution_type)(parameters)
 
-#define statetypes (std::string)(RandomNumberDistribution_Parameters)
+#define statetypes (std::string)(std::string)
 #define statereferences (old_distribution_type)(old_parameters)
 
