diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index e071dfc..2ac6110 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -924,7 +924,6 @@
                     var json = JSON.stringify(response.data);
                     var content = JSON.parse(json);
                     var data = [];
-                    var activationStatus = '';
                     var isExtended = false;
                     var bmcActiveVersion = '';
                     var hostActiveVersion = '';
@@ -966,11 +965,16 @@
                     for (var key in content.data) {
                       if (content.data.hasOwnProperty(key) &&
                           content.data[key].hasOwnProperty('Version')) {
+                        var activationStatus = '';
+
                         // If the image is "Functional" use that for the
                         // activation status, else use the value of "Activation"
                         // github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Software/Activation.interface.yaml
-                        activationStatus =
-                            content.data[key].Activation.split('.').pop();
+                        if (content.data[key].Activation) {
+                          activationStatus =
+                              content.data[key].Activation.split('.').pop();
+                        }
+
                         if (functionalImages.includes(key)) {
                           activationStatus = 'Functional';
                         }
