diff --git a/web/gui/src/main/webapp/app/directives.js b/web/gui/src/main/webapp/app/directives.js
index f04eca2..bac559b 100644
--- a/web/gui/src/main/webapp/app/directives.js
+++ b/web/gui/src/main/webapp/app/directives.js
@@ -72,8 +72,11 @@
                     iconSize: '@'
                 },
                 link: function (scope, element, attrs) {
-                    is.loadEmbeddedIcon(d3.select(element[0]),
-                                        scope.iconId, scope.iconSize);
+                    attrs.$observe('iconId', function () {
+                        var div = d3.select(element[0]);
+                        div.selectAll('*').remove();
+                        is.loadEmbeddedIcon(div, scope.iconId, scope.iconSize);
+                    });
                 }
             };
         }])
diff --git a/web/gui/src/main/webapp/app/view/app/app.html b/web/gui/src/main/webapp/app/view/app/app.html
index 0243b5a..f2e4dd3 100644
--- a/web/gui/src/main/webapp/app/view/app/app.html
+++ b/web/gui/src/main/webapp/app/view/app/app.html
@@ -56,7 +56,7 @@
                     </td>
                 </tr>
 
-                <tr ng-repeat="app in tableData track by app.id"
+                <tr ng-repeat="app in tableData"
                     ng-click="selectCallback($event, app)"
                     ng-class="{selected: app.id === selId}"
                     ng-repeat-done>
diff --git a/web/gui/src/main/webapp/app/view/app/app.js b/web/gui/src/main/webapp/app/view/app/app.js
index 1918f3a..55ccd94 100644
--- a/web/gui/src/main/webapp/app/view/app/app.js
+++ b/web/gui/src/main/webapp/app/view/app/app.js
@@ -33,7 +33,6 @@
         'FnService', 'TableBuilderService', 'WebSocketService', 'UrlFnService',
 
     function ($log, $scope, $http, fs, tbs, wss, ufs) {
-        var refreshCtrls;
         $scope.ctrlBtnState = {};
 
         function selCb($event, row) {
@@ -41,28 +40,28 @@
             $scope.ctrlBtnState.selection = !!$scope.selId;
             $log.debug('Got a click on:', row);
 
-            refreshCtrls = function () {
-                if ($scope.ctrlBtnState.selection) {
-                    $scope.ctrlBtnState.installed = row.state === INSTALLED;
-                    $scope.ctrlBtnState.active = row.state === ACTIVE;
-                } else {
-                    $scope.ctrlBtnState.installed = false;
-                    $scope.ctrlBtnState.active = false;
-                }
-            };
-
             refreshCtrls();
         }
 
-        function respCb() {
-            refreshCtrls && refreshCtrls();
+        function refreshCtrls() {
+            var row, rowIdx;
+            if ($scope.ctrlBtnState.selection) {
+                rowIdx = fs.find($scope.selId, $scope.tableData);
+                row = rowIdx >= 0 ? $scope.tableData[rowIdx] : null;
+
+                $scope.ctrlBtnState.installed = row && row.state === INSTALLED;
+                $scope.ctrlBtnState.active = row && row.state === ACTIVE;
+            } else {
+                $scope.ctrlBtnState.installed = false;
+                $scope.ctrlBtnState.active = false;
+            }
         }
 
         tbs.buildTable({
             scope: $scope,
             tag: 'app',
             selCb: selCb,
-            respCb: respCb
+            respCb: refreshCtrls
         });
 
         $scope.appAction = function (action) {
@@ -85,14 +84,9 @@
                         'Content-Type': undefined
                     }
                 })
-                    // TODO: look for finally function to combine lines
-                    // TODO: reexamine reset input value
-                    .success(function () {
+                    .finally(function () {
                         $scope.sortCallback($scope.sortParams);
                         document.getElementById('inputFileForm').reset();
-                    })
-                    .error(function () {
-                        $scope.sortCallback($scope.sortParams);
                     });
             }
         });
