diff --git a/app/common/directives/log-event.js b/app/common/directives/log-event.js
index cf8c41b..e179389 100644
--- a/app/common/directives/log-event.js
+++ b/app/common/directives/log-event.js
@@ -22,11 +22,16 @@
               console.error('Error!', err);
             };
             $scope.resolveEvent = function(event) {
-              APIUtils.resolveLogs([{Id: event.Id}]).then(function() {
-                event.Resolved = 1;
-              });
+              APIUtils.resolveLogs([{Id: event.Id}])
+                  .then(
+                      function(data) {
+                        event.Resolved = 1;
+                      },
+                      function(error) {
+                        // TODO: Show error to user
+                        console.log(JSON.stringify(error));
+                      });
             };
-
             $scope.accept = function() {
               $scope.event.selected = true;
               $timeout(function() {
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 89b2c71..840db8e 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -1707,13 +1707,8 @@
           return defer.promise;
         },
         resolveLogs: function(logs) {
-          var defer = $q.defer();
           var promises = [];
 
-          function finished() {
-            defer.resolve();
-          }
-
           logs.forEach(function(item) {
             promises.push($http({
               method: 'PUT',
@@ -1721,13 +1716,10 @@
                   '/xyz/openbmc_project/logging/entry/' + item.Id +
                   '/attr/Resolved',
               withCredentials: true,
-              data: JSON.stringify({'data': '1'})
+              data: JSON.stringify({'data': true})
             }));
           });
-
-          $q.all(promises).then(finished);
-
-          return defer.promise;
+          return $q.all(promises);
         },
         getPowerConsumption: function() {
           return $http({
