diff --git a/app/configuration/controllers/snmp-controller.html b/app/configuration/controllers/snmp-controller.html
index f4b7279..e1f2bc9 100644
--- a/app/configuration/controllers/snmp-controller.html
+++ b/app/configuration/controllers/snmp-controller.html
@@ -12,11 +12,11 @@
           <div class="snmp__managers" ng-repeat="manager in managers track by $index">
             <div class="snmp__manager-field">
               <label>SNMP Manager Server</label>
-              <input class="inline" id="snmp-manager{{$index+1}}-address" ng-change="manager.update_address = true" type="text" ng-model="manager.address" ng-blur="managers[$index].address = manager.address"/>
+              <input class="inline" id="snmp-manager{{$index+1}}-address" ng-change="manager.updateAddress = true" type="text" ng-model="manager.address" ng-blur="managers[$index].address = manager.address"/>
             </div>
             <div class="snmp__manager-field">
               <label>Port</label>
-              <input class="inline" id="snmp-manager{{$index+1}}-port" type="text" ng-change="manager.update_port = true" ng-model="manager.port" ng-blur="managers[$index].port = manager.port"/>
+              <input class="inline" id="snmp-manager{{$index+1}}-port" type="text" ng-change="manager.updatePort = true" ng-model="manager.port" ng-blur="managers[$index].port = manager.port"/>
             </div>
           <button class="snmp__manager-remove" ng-click="removeSNMPManager($index)">Remove</button>
           </div>
diff --git a/app/configuration/controllers/snmp-controller.js b/app/configuration/controllers/snmp-controller.js
index a2f5e2b..e2c2b22 100644
--- a/app/configuration/controllers/snmp-controller.js
+++ b/app/configuration/controllers/snmp-controller.js
@@ -16,7 +16,7 @@
       $scope.loading = true;
       $scope.error = false;
       $scope.success = false;
-      $scope.managers_to_delete = [];
+      $scope.managersToDelete = [];
 
       var getSNMPManagers = APIUtils.getSNMPManagers().then(
           function(data) {
@@ -26,9 +26,9 @@
               $scope.managers.push({
                 path: key,
                 port: data.data[key].Port,
-                update_port: false,
+                updatePort: false,
                 address: data.data[key].Address,
-                update_address: false
+                updateAddress: false
               })
             }
           },
@@ -48,7 +48,7 @@
         // If the SNMP Manager has a path it exists on the backend and we
         // need to make a call to remove it
         if ($scope.managers[index].path) {
-          $scope.managers_to_delete.push($scope.managers[index].path);
+          $scope.managersToDelete.push($scope.managers[index].path);
         }
         $scope.managers.splice(index, 1);
       };
@@ -87,11 +87,11 @@
             promises.push(addManager(
                 $scope.managers[i].address, $scope.managers[i].port));
           } else {
-            if ($scope.managers[i].update_address) {
+            if ($scope.managers[i].updateAddress) {
               promises.push(setManagerAddress(
                   $scope.managers[i].path, $scope.managers[i].address));
             }
-            if ($scope.managers[i].update_port) {
+            if ($scope.managers[i].updatePort) {
               promises.push(setManagerPort(
                   $scope.managers[i].path, $scope.managers[i].port));
             }
@@ -99,9 +99,9 @@
         }
 
         // Add delete promises last since we might be adding to
-        // managers_to_delete above
-        for (var i in $scope.managers_to_delete) {
-          promises.push(deleteManager($scope.managers_to_delete[i]));
+        // managersToDelete above
+        for (var i in $scope.managersToDelete) {
+          promises.push(deleteManager($scope.managersToDelete[i]));
         }
 
         $q.all(promises)
