diff --git a/src/userTool.js b/src/userTool.js
index 9f160b6c0edda19d36fca554f3b1e7c09adb1a06..bf573cf79a719ecfa388d6dc698dfe008c61abc5 100644
--- a/src/userTool.js
+++ b/src/userTool.js
@@ -129,14 +129,15 @@ export class NewUser extends UserEdit {
       membership: 'regular',
     };
     this.valid = false;
+
+    // if the creation is finished, UI should switch to new User
+    this.callback = (response) => { m.route.set(`/users/${response.data._id}`); }
   }
 
   view() {
     // UPDATE button is inactive if form is not valid
-    const buttonArgs = this.createOnClick(
-      ['lastname', 'firstname', 'email', 'membership', 'gender'],
-      (response) => { m.route.set(`/users/${response.data._id}`); },
-    );
+    const buttonArgs = this.createOnClick([
+      'lastname', 'firstname', 'email', 'membership', 'gender']);
     const postButton = m(
       'div.btn.btn-warning',
       this.valid ? buttonArgs : { disabled: 'disabled' },
diff --git a/src/views/editView.js b/src/views/editView.js
index 61805ac0516ea22b6667d50b3eae18f5caed53e8..0ef3516d90eb2058b350fa1db47114b278344eb5 100644
--- a/src/views/editView.js
+++ b/src/views/editView.js
@@ -83,7 +83,7 @@ export class EditView extends ItemView {
     return boundFormelement;
   }
 
-  patchOnClick(patchableFields, callback) {
+  patchOnClick(patchableFields) {
     return {
       onclick: () => {
         if (this.changed) {
@@ -97,16 +97,18 @@ export class EditView extends ItemView {
 
             apiSession.patch(`${this.resource}/${this.id}`, patchData, {
               headers: { 'If-Match': this.data._etag },
-            }).then(() => { callback(); });
+            }).then((response) => {
+              this.callback(response);
+            });
           });
         } else {
-          callback();
+          this.callback();
         }
       },
     };
   }
 
-  createOnClick(fields, callback) {
+  createOnClick(fields) {
     return {
       onclick: () => {
         getSession().then((apiSession) => {
@@ -118,7 +120,7 @@ export class EditView extends ItemView {
           });
 
           apiSession.post(this.resource, postData)
-            .then(response => { callback(response); });
+            .then((response) => { this.callback(response); });
         });
       },
     };
@@ -138,7 +140,6 @@ export class inputGroup {
     // set display-settings accoridng to error-state
     let errorField = null;
     let groupClasses = vnode.attrs.classes ? vnode.attrs.classes : '';
-    console.log(groupClasses)
     const errors = this.getErrors();
     if (errors.length > 0) {
       errorField = m('span.help-block', `Error: ${errors.join(', ')}`);