diff --git a/apps/files_encryption/js/settings-admin.js b/apps/files_encryption/js/settings-admin.js
index c2140a6f1eb152692e8da411e21099660d5e329c..785d02002fa28caed4a438d8ff9c9a6086d23413 100644
--- a/apps/files_encryption/js/settings-admin.js
+++ b/apps/files_encryption/js/settings-admin.js
@@ -7,28 +7,6 @@
  * See the COPYING-README file.
  */
 
-OC.msg={
-	startSaving:function(selector){
-		$(selector)
-			.html( t('settings', 'Saving...') )
-			.removeClass('success')
-			.removeClass('error')
-			.stop(true, true)
-			.show();
-	},
-	finishedSaving:function(selector, data){
-		if( data.status === "success" ){
-			 $(selector).html( data.data.message )
-				.addClass('success')
-				.stop(true, true)
-				.delay(3000)
-				.fadeOut(900);
-		}else{
-			$(selector).html( data.data.message ).addClass('error');
-		}
-	}
-};
-
 $(document).ready(function(){
 	// Trigger ajax on recoveryAdmin status change
 	var enabledStatus = $('#adminEnableRecovery').val();
diff --git a/core/js/js.js b/core/js/js.js
index cb177712a3a9ad46532453a65941f6fb028c875e..ac79f13a6d1ca7093c4b17f4de719bab407c3cdf 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -467,6 +467,34 @@ OC.search.lastResults={};
 OC.addStyle.loaded=[];
 OC.addScript.loaded=[];
 
+OC.msg={
+	startSaving:function(selector, message){
+		OC.msg.startAction(selector, t('settings', 'Saving...'));
+	},
+	finishedSaving:function(selector, data){
+		OC.msg.finishedAction(selector, data);
+	},
+	startAction:function(selector, message){
+		$(selector)
+			.html( message )
+			.removeClass('success')
+			.removeClass('error')
+			.stop(true, true)
+			.show();
+	},
+	finishedAction:function(selector, data){
+		if( data.status === "success" ){
+			$(selector).html( data.data.message )
+				.addClass('success')
+				.stop(true, true)
+				.delay(3000)
+				.fadeOut(900);
+		}else{
+			$(selector).html( data.data.message ).addClass('error');
+		}
+	}
+};
+
 OC.Notification={
 	queuedNotifications: [],
 	getDefaultNotificationFunction: null,
diff --git a/settings/js/admin.js b/settings/js/admin.js
index f39f53d413ad6ddabfe28006468fe2731e24df7b..923e267513e75dddbfe029803b95fa037cfe099d 100644
--- a/settings/js/admin.js
+++ b/settings/js/admin.js
@@ -51,25 +51,3 @@ $(document).ready(function(){
 		});
 	});
 });
-
-OC.msg={
-	startSaving:function(selector){
-		$(selector)
-			.html( t('settings', 'Saving...') )
-			.removeClass('success')
-			.removeClass('error')
-			.stop(true, true)
-			.show();
-	},
-	finishedSaving:function(selector, data){
-		if( data.status === "success" ){
-			$(selector).html( data.data.message )
-				.addClass('success')
-				.stop(true, true)
-				.delay(3000)
-				.fadeOut(900);
-		}else{
-			$(selector).html( data.data.message ).addClass('error');
-		}
-	}
-};
diff --git a/settings/js/personal.js b/settings/js/personal.js
index 3b8764677561523f106d7cdbdcd85464b5928a9d..cff149db55b71bc98347abe4acda1881a58bf4b9 100644
--- a/settings/js/personal.js
+++ b/settings/js/personal.js
@@ -313,25 +313,3 @@ OC.Encryption.msg={
 		}
 	}
 };
-
-OC.msg={
-	startSaving:function(selector){
-		$(selector)
-			.html( t('settings', 'Saving...') )
-			.removeClass('success')
-			.removeClass('error')
-			.stop(true, true)
-			.show();
-	},
-	finishedSaving:function(selector, data){
-		if( data.status === "success" ){
-			 $(selector).html( data.data.message )
-				.addClass('success')
-				.stop(true, true)
-				.delay(3000)
-				.fadeOut(900);
-		}else{
-			$(selector).html( data.data.message ).addClass('error');
-		}
-	}
-};