diff --git a/runhelper/db.py b/runhelper/db.py
index 4ffea6f2267a7d469126e0318089ae3a69355806..8db4d769aab118f7ddd428e434059f1b543def73 100644
--- a/runhelper/db.py
+++ b/runhelper/db.py
@@ -29,12 +29,13 @@ class Database(object):
             'cpuCompilerConfig': getCompilerConfig(),
         }
 
-    def save(self, params, result, env=None):
+    def save(self, params, result, env=None, **kwargs):
         documentDict = {
             'params': params,
             'result': result,
             'env': env if env else self.getEnv(),
         }
+        documentDict.update(kwargs)
         document = Database.SimulationResult(documentDict, backend=self.backend)
         document.save()
         self.backend.commit()
diff --git a/runhelper/parameterstudy.py b/runhelper/parameterstudy.py
index ace2916636064d539cf4532d6db5ad0711c9f9d8..828a0ad0034529d4df687a1237cdde798de0b63f 100644
--- a/runhelper/parameterstudy.py
+++ b/runhelper/parameterstudy.py
@@ -68,10 +68,11 @@ class ParameterStudy(object):
 
             def result(self, receivedJsonData):
                 clientName = receivedJsonData['clientName']
-                self.finishedRuns.append(self.currentlyRunning[clientName])
+                run = self.currentlyRunning[clientName]
+                self.finishedRuns.append(run)
                 del self.currentlyRunning[clientName]
                 d = receivedJsonData
-                self.parameterStudy.db.save(d['params'], d['result'], d['env'])
+                self.parameterStudy.db.save(run.parameterDict, d['result'], d['env'], changedParams=d['changedParams'])
                 return {}
 
             def do_POST(self):
@@ -115,6 +116,7 @@ class ParameterStudy(object):
                 result = self.runFunction(**scenario['params'])
 
                 answer = {'params': scenario['params'],
+                          'changedParams': parameterUpdate,
                           'result': result,
                           'env': Database.getEnv(),
                           'clientName': clientName}