diff --git a/frontend-js/src/main/js/plugin/Plugin.js b/frontend-js/src/main/js/plugin/Plugin.js
index 72a915f85d34e90be45e3fd9878360bc96976e98..f8ee085afceccb72344a0d85c97b30a7ca29f559 100644
--- a/frontend-js/src/main/js/plugin/Plugin.js
+++ b/frontend-js/src/main/js/plugin/Plugin.js
@@ -51,6 +51,8 @@ Plugin.prototype.load = function () {
   var options = self.getOptions();
 
   var hash;
+  var error = false;
+  var registerPromise = null;
 
   return ServerConnector.sendRequest({
     url: options.url,
@@ -59,9 +61,7 @@ Plugin.prototype.load = function () {
   }).then(function (content) {
     hash = Functions.computeMD5(content);
     var pluginData = undefined;
-    var error = false;
     try {
-      var registerPromise = null;
       // noinspection JSUnusedLocalSymbols
       var minervaDefine = function (pluginFunction) {
         try {
@@ -86,21 +86,22 @@ Plugin.prototype.load = function () {
           error = e;
         }
       };
+      content += "//# sourceURL=" + options.url;
       eval(content);
     } catch (e) {
       error = e;
     }
-    if (error) {
-      return Promise.reject(error);
-    }
-    return registerPromise;
-  }).then(function () {
     return ServerConnector.registerPlugin({
       hash: hash,
       url: options.url,
       name: self.getName(),
       version: self.getVersion()
     });
+  }).then(function () {
+    if (error) {
+      return Promise.reject(error);
+    }
+    return registerPromise;
   });
 
 };