diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js
index 6cc1cf3e42993039338e092e367c0a4eb5344545..e1d88cbbbd74e3454ecb77a0e2e16043bd8c235e 100644
--- a/frontend-js/src/main/js/minerva.js
+++ b/frontend-js/src/main/js/minerva.js
@@ -196,29 +196,29 @@ function createMarkerElements(options) {
 
 function getElements(elementIdentifiers, customMap) {
   var identifiedElements = [];
-  
+
   var elementsByModelId = [];
-  for (var i=0;i<elementIdentifiers.length;i++) {
+  for (var i = 0; i < elementIdentifiers.length; i++) {
     var identifiedElement = new IdentifiedElement(elementIdentifiers[i]);
-    if (elementsByModelId[identifiedElement.getModelId()]===undefined) {
+    if (elementsByModelId[identifiedElement.getModelId()] === undefined) {
       elementsByModelId[identifiedElement.getModelId()] = [];
     }
     elementsByModelId[identifiedElement.getModelId()].push(identifiedElement);
     identifiedElements.push(identifiedElement);
   }
-  
+
   var modelScopePromises = [];
-  for (var key in elementsByModelId) {
+  for ( var key in elementsByModelId) {
     if (elementsByModelId.hasOwnProperty(key)) {
       var model = customMap.getModel().getSubmodelById(parseInt(key));
       modelScopePromises.push(model.getByIdentifiedElements(elementsByModelId[key], true));
-    } 
+    }
   }
-  //first promise fetch all data
-  return Promise.all(modelScopePromises).then(function(){
-    //this promise return result in the right order
+  // first promise fetch all data
+  return Promise.all(modelScopePromises).then(function() {
+    // this promise return result in the right order
     var elementPromises = [];
-    for (var i=0;i<identifiedElements.length;i++) {
+    for (var i = 0; i < identifiedElements.length; i++) {
       var element = identifiedElements[i];
       var model = customMap.getModel().getSubmodelById(element.getModelId());
       var promise = model.getByIdentifiedElement(element, true);
@@ -228,6 +228,35 @@ function getElements(elementIdentifiers, customMap) {
   });
 }
 
+function getReactionsForElements(elementIdentifiers, customMap) {
+
+  var elementsByModelId = [];
+  for (var i = 0; i < elementIdentifiers.length; i++) {
+    var identifiedElement = new IdentifiedElement(elementIdentifiers[i]);
+    if (elementsByModelId[identifiedElement.getModelId()] === undefined) {
+      elementsByModelId[identifiedElement.getModelId()] = [];
+    }
+    elementsByModelId[identifiedElement.getModelId()].push(identifiedElement);
+  }
+
+  var modelScopePromises = [];
+  var result = [];
+  for ( var key in elementsByModelId) {
+    if (elementsByModelId.hasOwnProperty(key)) {
+      var model = customMap.getModel().getSubmodelById(parseInt(key));
+      var promise = model.getReactionsForElements(elementsByModelId[key], true).then(function(reactions) {
+        result = result.concat(reactions);
+      });
+      modelScopePromises.push(promise);
+    }
+  }
+
+  // first promise fetch all data
+  return Promise.all(modelScopePromises).then(function() {
+    return result;
+  });
+}
+
 function createResult(customMap) {
   return {
     getVisibleDataOverlays : function() {
@@ -283,9 +312,7 @@ function createResult(customMap) {
       if (param.length === undefined) {
         param = [ param ];
         isArray = false;
-
       }
-
       return getElements(param, customMap).then(function(result) {
         if (!isArray) {
           return result[0];
@@ -295,9 +322,10 @@ function createResult(customMap) {
       });
     },
     getReactionsWithElement : function(param) {
-      var identifiedElement = new IdentifiedElement(param);
-      var model = customMap.getModel().getSubmodelById(identifiedElement.getModelId());
-      return model.getReactionsForElement(identifiedElement, true);
+      if (param.length === undefined) {
+        param = [ param ];
+      }
+      return getReactionsForElements(param, customMap);
     },
     destroy : function() {
       return leftPanel.destroy().then(function() {
diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js
index 45cc2be4320167df928f201754910e613f4fcde3..06e71a6a06c2d02efc80d7aecb8dbe7cce4415d7 100644
--- a/frontend-js/src/test/js/minerva-test.js
+++ b/frontend-js/src/test/js/minerva-test.js
@@ -382,4 +382,27 @@ describe('minerva global', function() {
     });
   });
 
+  it("getReactionByParticipantId", function() {
+    var ie = {
+      modelId : 15781,
+      type : "ALIAS",
+      id : 329167
+    };
+
+    var options = {
+      projectId : "sample",
+      element : testDiv
+    };
+    var globalResult;
+    return minerva.create(options).then(function(result) {
+      globalResult = result;
+      return result.getReactionsWithElement(ie);
+    }).then(function(reactions) {
+      assert.equal(reactions.length, 5);
+    }).then(function() {
+      globalResult.destroy();
+    });
+
+  });
+
 });