diff --git a/app/common/services/dataService.js b/app/common/services/dataService.js
index ffe15a2..5c4f53a 100644
--- a/app/common/services/dataService.js
+++ b/app/common/services/dataService.js
@@ -30,6 +30,7 @@
 
       this.hostname = '';
       this.mac_address = '';
+      this.defaultgateway = '';
       this.remote_window_active = false;
 
       this.displayErrorModal = false;
@@ -75,6 +76,7 @@
 
       this.setNetworkInfo = function(data) {
         this.hostname = data.hostname;
+        this.defaultgateway = data.defaultgateway;
         this.mac_address = data.mac_address;
       };
 
diff --git a/app/configuration/controllers/network-controller.js b/app/configuration/controllers/network-controller.js
index 31b482c..5708ec8 100644
--- a/app/configuration/controllers/network-controller.js
+++ b/app/configuration/controllers/network-controller.js
@@ -35,17 +35,25 @@
         $scope.set_network_success = false;
         var promises = [];
 
-        // TODO openbmc/openbmc#3165: check if the network settings
-        // changed before setting
-        promises.push(setMACAddress());
-        promises.push(setDefaultGateway());
-        promises.push(setHostname());
+        // MAC Address are case-insensitive
+        if ($scope.interface.MACAddress.toLowerCase() !=
+            dataService.mac_address.toLowerCase()) {
+          promises.push(setMACAddress());
+        }
+        if ($scope.defaultgateway != dataService.defaultgateway) {
+          promises.push(setDefaultGateway());
+        }
+        if ($scope.hostname != dataService.hostname) {
+          promises.push(setHostname());
+        }
 
-        $q.all(promises).finally(function() {
-          if (!$scope.set_network_error) {
-            $scope.set_network_success = true;
-          }
-        });
+        if (promises.length) {
+          $q.all(promises).finally(function() {
+            if (!$scope.set_network_error) {
+              $scope.set_network_success = true;
+            }
+          });
+        }
 
       };
 
@@ -85,6 +93,7 @@
         $route.reload();
       };
       APIUtils.getNetworkInfo().then(function(data) {
+        dataService.setNetworkInfo(data);
         $scope.network = data.formatted_data;
         $scope.hostname = data.hostname;
         $scope.defaultgateway = data.defaultgateway;
