diff --git a/frontend-js/src/main/js/map/overlay/AbstractDbOverlay.js b/frontend-js/src/main/js/map/overlay/AbstractDbOverlay.js
index 03e3cee5129e6fafe42564ab7274a03d27e7b979..8b12820fa500965f0c93835c803eabce730d87ef 100644
--- a/frontend-js/src/main/js/map/overlay/AbstractDbOverlay.js
+++ b/frontend-js/src/main/js/map/overlay/AbstractDbOverlay.js
@@ -2,6 +2,7 @@
 
 /* exported logger */
 
+// noinspection JSUnusedLocalSymbols
 var logger = require('../../logger');
 
 var Promise = require("bluebird");
@@ -43,7 +44,7 @@ AbstractDbOverlay.prototype.constructor = AbstractDbOverlay;
 AbstractDbOverlay.QueryType = {
   SEARCH_BY_COORDINATES: "SEARCH_BY_COORDINATES",
   SEARCH_BY_TARGET: "SEARCH_BY_TARGET",
-  SEARCH_BY_QUERY: "SEARCH_BY_QUERY",
+  SEARCH_BY_QUERY: "SEARCH_BY_QUERY"
 };
 
 AbstractDbOverlay.prototype.encodeQuery = function (type, arg0, arg1, arg2) {
@@ -90,33 +91,48 @@ AbstractDbOverlay.prototype.searchByQuery = function (originalQuery, perfect, fi
 
   var res;
   var encodedQueries = [];
-  return self.searchBySingleQuery(originalQuery, perfect).then(function (results) {
-    if (results.length > 0) {
-      encodedQueries.push(query);
-      return [results];
-    } else {
-      var queries = self.splitQuery(originalQuery);
-
-      var promises = [];
-      for (var i = 0; i < queries.length; i++) {
-        encodedQueries.push(self.encodeQuery(AbstractDbOverlay.QueryType.SEARCH_BY_QUERY, queries[i], perfect));
-        promises.push(self.searchBySingleQuery(queries[i], perfect));
-      }
 
-      return Promise.all(promises);
+  var resultPromise;
+  if (originalQuery.indexOf(";") >= 0) {
+    var queries = self.splitQuery(originalQuery);
+
+    var promises = [];
+    for (var i = 0; i < queries.length; i++) {
+      encodedQueries.push(self.encodeQuery(AbstractDbOverlay.QueryType.SEARCH_BY_QUERY, queries[i], perfect));
+      promises.push(self.searchBySingleQuery(queries[i], perfect));
     }
-  }).then(function (results) {
+    resultPromise = Promise.all(promises);
+  } else {
+    resultPromise = self.searchBySingleQuery(originalQuery, perfect).then(function (results) {
+      if (results.length > 0) {
+        encodedQueries.push(query);
+        return [results];
+      } else {
+        var queries = self.splitQuery(originalQuery);
+
+        var promises = [];
+        for (var i = 0; i < queries.length; i++) {
+          encodedQueries.push(self.encodeQuery(AbstractDbOverlay.QueryType.SEARCH_BY_QUERY, queries[i], perfect));
+          promises.push(self.searchBySingleQuery(queries[i], perfect));
+        }
+
+        return Promise.all(promises);
+      }
+    });
+  }
+  return resultPromise.then(function (results) {
     self.setQueries(encodedQueries);
     res = results;
     return self.callListeners('onSearch', {
       fitBounds: fitBounds,
       identifiedElements: res,
-      type: AbstractDbOverlay.QueryType.SEARCH_BY_QUERY,
+      type: AbstractDbOverlay.QueryType.SEARCH_BY_QUERY
     });
   }).then(function () {
     return res;
   });
-};
+}
+;
 
 AbstractDbOverlay.prototype.setQueries = function (queries) {
   this._queries = queries;