diff --git a/www/js/controllers/network-controllers.js b/www/js/controllers/network-controllers.js
index 3791e34d733ed1255acd32ffe262b739accb7558..904c650cdb527bad923a0d2c14fcdb6022da8e5c 100644
--- a/www/js/controllers/network-controllers.js
+++ b/www/js/controllers/network-controllers.js
@@ -119,6 +119,8 @@ function NetworkModalController($scope, $q, $translate, $timeout, $ionicPopover,
   $scope.display='members';
   $scope.screen = UIUtils.screen;
   $scope.nbMembersPeers = 0;
+  $scope.esPeersOnly = false;
+
 
   csCurrency.all()
     .then(function (currencies) {
@@ -134,7 +136,7 @@ function NetworkModalController($scope, $q, $translate, $timeout, $ionicPopover,
       BMA.instance(currency.peer.host, currency.peer.port) : BMA;
 
     if ($scope.loadingPeers){
-      csNetwork.start($scope.node);
+      csNetwork.start($scope.node, $scope.esPeersOnly);
 
       // Catch event on new peers
       var refreshing = false;
diff --git a/www/js/controllers/settings-controllers.js b/www/js/controllers/settings-controllers.js
index f1640a53ea14d77931e6ec453c2ea52ef7f25cc0..8f2e0e1b3c805eac636226c1ffc36e1881ddef48 100644
--- a/www/js/controllers/settings-controllers.js
+++ b/www/js/controllers/settings-controllers.js
@@ -160,6 +160,7 @@ function SettingsController($scope, $q, $ionicPopup, $timeout, $translate, csHtt
               return;
             }
             var parts = node.split(':');
+            parts[1] = parts[1] ? parts[1] : 80;
             resolve({
               host: parts[0],
               port: parts[1]
diff --git a/www/js/services/network-services.js b/www/js/services/network-services.js
index 137b3a35ee5619445679083588eae7a541a5939c..02ac424ffccf99e94e90c4faf64bfe7d7def391e 100644
--- a/www/js/services/network-services.js
+++ b/www/js/services/network-services.js
@@ -18,7 +18,8 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se
         mainBuid: null,
         uidsByPubkeys: null,
         updatingPeers: true,
-        searchingPeersOnNetwork: false
+        searchingPeersOnNetwork: false,
+        esPeersOnly: false
       },
 
       resetData = function() {
@@ -205,6 +206,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se
         var mainBlock = _.max(buids, function(obj) {
           return obj.count;
         });
+
         _.forEach(data.peers, function(peer){
           peer.hasMainConsensusBlock = peer.buid == mainBlock.buid;
           peer.hasConsensusBlock = !peer.hasMainConsensusBlock && currents[peer.buid] > 1;
@@ -212,6 +214,10 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se
         data.peers = _.uniq(data.peers, false, function(peer) {
           return peer.pubkey;
         });
+        if(data.esPeersOnly) {
+          var regex = /^BASIC_MERKLED_API/;
+          data.peers = _.filter(data.peers, function(peer){return regex.test(peer.endpoints);})
+        };
         data.peers = _.sortBy(data.peers, function(peer) {
           var score = 1;
           score += (100000000 * (peer.online ? 1 : 0));
@@ -276,7 +282,8 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se
         });
       },
 
-      start = function(bma) {
+      start = function(bma, filterOn) {
+      data.esPeersOnly = filterOn;
         return $q(function(resolve, reject) {
           close();
           data.bma = bma ? bma : BMA;
diff --git a/www/plugins/es/js/controllers/settings-controllers.js b/www/plugins/es/js/controllers/settings-controllers.js
index 06b475e4ade9b624c01585b26e8811739bc4d5fb..cf1e748291f8e0bee5559296469c5ef8ba7e5f20 100644
--- a/www/plugins/es/js/controllers/settings-controllers.js
+++ b/www/plugins/es/js/controllers/settings-controllers.js
@@ -135,6 +135,7 @@ function ESPluginSettingsController ($scope, $q,  $translate, $ionicPopup, UIUti
               return;
             }
             var parts = node.split(':');
+            parts[1] = parts[1] ? parts[1] : 80;
             resolve({
               host: parts[0],
               port: parts[1]