diff --git a/src/plugins.js b/src/plugins.js
index 35381a3fa0..237f0ddbb7 100644
--- a/src/plugins.js
+++ b/src/plugins.js
@@ -640,19 +640,18 @@ var fs = require('fs'),
 
 				async.each(installedPlugins, function(plugin, next) {
 
-					pluginMap[plugin.id] = pluginMap[plugin.id] || {};
-					pluginMap[plugin.id].id = pluginMap[plugin.id].id || plugin.id;
-					pluginMap[plugin.id].name = pluginMap[plugin.id].name || plugin.id;
-					pluginMap[plugin.id].description = plugin.description;
-					pluginMap[plugin.id].url = pluginMap[plugin.id].url || plugin.url;
-					pluginMap[plugin.id].installed = true;
-
-					Plugins.isActive(plugin.id, function(err, active) {
-						if (err) {
-							return next(err);
-						}
-
-						pluginMap[plugin.id].active = active;
+					pluginMap[plugin.name] = pluginMap[plugin.name] || {};
+					pluginMap[plugin.name].id = pluginMap[plugin.name].id || plugin.name;
+					pluginMap[plugin.name].name = pluginMap[plugin.name].name || plugin.name;
+					pluginMap[plugin.name].description = plugin.description;
+					pluginMap[plugin.name].url = pluginMap[plugin.name].url || plugin.url;
+					pluginMap[plugin.name].installed = true;
+					pluginMap[plugin.name].active = plugin.active;
+					pluginMap[plugin.name].version = plugin.version;
+
+					getVersion(plugin.name, function(err, version) {
+						pluginMap[plugin.name].latest = version;
+						pluginMap[plugin.name].outdated = version !== pluginMap[plugin.name].version;
 						next();
 					});
 				}, function(err) {
@@ -683,6 +682,19 @@ var fs = require('fs'),
 		});
 	};
 
+	function getVersion(name, callback) {
+		var npm = require('npm');
+		npm.load({}, function() {
+			npm.commands.show([name, 'version'], true, function(err, version) {
+				if (err || !version) {
+					return callback(null, 'no version');
+				}
+				var obj = Object.keys(version);
+				callback(null, Array.isArray(obj) && obj.length ? obj[0] : 'no version');
+			});
+		});
+	}
+
 	Plugins.isInstalled = function(id, callback) {
 		var pluginDir = path.join(__dirname, '../node_modules', id);
 
@@ -725,7 +737,7 @@ var fs = require('fs'),
 
 					async.waterfall([
 						function(next) {
-							fs.readFile(path.join(file, 'plugin.json'), next);
+							fs.readFile(path.join(file, 'package.json'), next);
 						},
 						function(configJSON, next) {
 							var config;
@@ -737,13 +749,12 @@ var fs = require('fs'),
 								return next(err, null);
 							}
 
-							Plugins.isActive(config.id, function(err, active) {
+							Plugins.isActive(config.name, function(err, active) {
 								if (err) {
 									next(new Error('no-active-state'));
 								}
 
-								delete config.library;
-								delete config.hooks;
+
 								config.active = active;
 								config.installed = true;
 
diff --git a/src/views/admin/extend/plugins.tpl b/src/views/admin/extend/plugins.tpl
index 643a07b786..115eed1e08 100644
--- a/src/views/admin/extend/plugins.tpl
+++ b/src/views/admin/extend/plugins.tpl
@@ -18,6 +18,7 @@
 						<!-- IF plugins.description -->
 						<p>{plugins.description}</p>
 						<!-- ENDIF plugins.description -->
+						<!-- IF plugins.outdated --><i class="fa fa-exclamation-triangle text-danger"></i> <!-- ENDIF plugins.outdated --><small>Installed <strong>{plugins.version}</strong> | Latest <strong>{plugins.latest}</strong></small>
 						<!-- IF plugins.url -->
 						<p>For more information: <a href="{plugins.url}">{plugins.url}</a></p>
 						<!-- ENDIF plugins.url -->