diff --git a/backend.php b/backend.php
index 84abc97304b83db640e64af02254db18b2efcc7b..150481cfe89d7e39c7257fbc1c581b99ba4c8296 100644
--- a/backend.php
+++ b/backend.php
@@ -63,7 +63,7 @@
 	if ($_SESSION["uid"]) {
 		if (!validate_session()) {
 			header("Content-Type: text/json");
-			print json_encode(array("error" => array("code" => 6)));
+			print error_json(6);
 			return;
 		}
 		load_user_plugins( $_SESSION["uid"]);
@@ -104,13 +104,6 @@
 		5 => __("Power User"),
 		10 => __("Administrator"));
 
-	#$error = sanity_check();
-
-	#if ($error['code'] != 0 && $op != "logout") {
-	#	print json_encode(array("error" => $error));
-	#	return;
-	#}
-
 	$op = str_replace("-", "_", $op);
 
 	$override = PluginHost::getInstance()->lookup_handler($op, $method);
@@ -137,18 +130,18 @@
 					return;
 				} else {
 					header("Content-Type: text/json");
-					print json_encode(array("error" => array("code" => 6)));
+					print error_json(6);
 					return;
 				}
 			} else {
 				header("Content-Type: text/json");
-				print json_encode(array("error" => array("code" => 6)));
+				print error_json(6);
 				return;
 			}
 		}
 	}
 
 	header("Content-Type: text/json");
-	print json_encode(array("error" => array("code" => 7)));
+	print error_json(13);
 
 ?>
diff --git a/classes/handler/public.php b/classes/handler/public.php
index e170a263192857291d3c4de99815e0159845eec9..46c74041c85c33a6de6b1036552ce2a8bac5ee80 100644
--- a/classes/handler/public.php
+++ b/classes/handler/public.php
@@ -706,7 +706,7 @@ class Handler_Public extends Handler {
 
 	function index() {
 		header("Content-Type: text/plain");
-		print json_encode(array("error" => array("code" => 7)));
+		print error_json(13);
 	}
 
 	function forgotpass() {
diff --git a/classes/pluginhandler.php b/classes/pluginhandler.php
index 69030516523a2a88914c64a2d74aa2b68b006524..5ca5c17d3d344b6bb5c6dc9a4d75c38b0261e4e9 100644
--- a/classes/pluginhandler.php
+++ b/classes/pluginhandler.php
@@ -11,10 +11,10 @@ class PluginHandler extends Handler_Protected {
 			if (method_exists($plugin, $method)) {
 				$plugin->$method();
 			} else {
-				print json_encode(array("error" => "METHOD_NOT_FOUND"));
+				print error_json(13);
 			}
 		} else {
-			print json_encode(array("error" => "PLUGIN_NOT_FOUND"));
+			print error_json(14);
 		}
 	}
 }
diff --git a/errors.php b/errors.php
index f7333fd1af0098c4fba6bf1128e30fbfa9ad1990..d9185307a7bb8430b352b81bb35617141402c4b4 100644
--- a/errors.php
+++ b/errors.php
@@ -34,6 +34,10 @@
 
 	$ERRORS[12] = __("SQL escaping test failed, check your database and PHP configuration");
 
+	$ERRORS[13] = __("Method not found");
+
+	$ERRORS[14] = __("Plugin not found");
+
 	if ($_REQUEST['mode'] == 'js') {
 		header("Content-Type: text/javascript; charset=UTF-8");
 
diff --git a/include/functions2.php b/include/functions2.php
index c0ed7a82302753a3725b0a95c00be4aadef4cf3e..a73f9a7a786342f0563e77680937fdbaffefbee0 100644
--- a/include/functions2.php
+++ b/include/functions2.php
@@ -2452,4 +2452,14 @@
 
 		return false;
 	}
+
+	function error_json($code) {
+		require_once "errors.php";
+
+		@$message = $ERRORS[$code];
+
+		return json_encode(array("error" =>
+			array("code" => $code, "message" => $message)));
+
+	}
 ?>
diff --git a/plugins/instances/init.php b/plugins/instances/init.php
index 2de0e5fd2d8eb753bd0bd4f789488ade8ef4f76e..b23f45a0184331a15ee0637dedb8878eedfc2b65 100644
--- a/plugins/instances/init.php
+++ b/plugins/instances/init.php
@@ -384,7 +384,7 @@ class Instances extends Plugin implements IHandler {
 
 			print json_encode(array("feeds" => $feeds));
 		} else {
-			print json_encode(array("error" => array("code" => 6)));
+			print error_json(6);
 		}
 	}
 
diff --git a/public.php b/public.php
index 33f5af75713df54fad835da2bed0c3085428a223..7aebde78f378c7f1012cf122f2a727b878b9eb1f 100644
--- a/public.php
+++ b/public.php
@@ -56,6 +56,5 @@
 	}
 
 	header("Content-Type: text/plain");
-	print json_encode(array("error" => array("code" => 7)));
-
+	print error_json(13);
 ?>