diff --git a/src/components/host/HostStatus/HostStatus.js b/src/components/host/HostStatus/HostStatus.js
index 7948cadd65bc5c10bc1c1be49a01ac01694ed472..f4f88185c094a1758763998e62af2ee864c970ae 100644
--- a/src/components/host/HostStatus/HostStatus.js
+++ b/src/components/host/HostStatus/HostStatus.js
@@ -1,8 +1,8 @@
-import { useContext, useMemo } from "react";
-import { Grid, Skeleton } from "@mui/material";
+import { useContext, useMemo, useEffect } from "react";
 import { apiContext } from "../../../api/DeployApi";
 import { useAPIMethod } from "@ess-ics/ce-ui-common";
-import { HostStatusIcon } from "./HostStatusIcon";
+import { getHostStatus } from "./HostStatusData";
+import { Status } from "../../common/Status";
 
 function createRequest(hostId) {
   return {
@@ -10,36 +10,41 @@ function createRequest(hostId) {
   };
 }
 
-export const HostStatus = ({ hostId }) => {
+export const HostStatus = ({ hostId, hideAlerts }) => {
   const client = useContext(apiContext);
-
   const params = useMemo(() => createRequest(hostId), [hostId]);
 
   const {
-    value: hostStatus,
-    loading,
-    dataReady
+    wrapper: callFetchHostAlerts,
+    value: hostAlert,
+    abort: abortCallFetchHostAlerts
   } = useAPIMethod({
+    fcn: client.apis.Hosts.findHostAlerts,
+    params,
+    call: false
+  });
+
+  const { value: hostStateStatus } = useAPIMethod({
     fcn: client.apis.Hosts.findHostStatus,
     params
   });
 
+  useEffect(() => {
+    if (!hideAlerts) {
+      callFetchHostAlerts();
+    }
+
+    return () => {
+      abortCallFetchHostAlerts();
+    };
+  }, [hostStateStatus, hideAlerts]);
+
   return (
-    <Grid
-      container
-      direction="column"
-      justifyContent="center"
-      alignItems="center"
-    >
-      {loading || !dataReady ? (
-        <Skeleton
-          variant="circular"
-          height={20}
-          width={20}
-        />
-      ) : (
-        <HostStatusIcon hostStatus={hostStatus} />
-      )}
-    </Grid>
+    <Status
+      state={hostStateStatus}
+      alert={hostAlert}
+      hideAlerts={hideAlerts}
+      getStatusFcn={getHostStatus}
+    />
   );
 };
diff --git a/src/components/host/HostStatus/HostStatusIcon.js b/src/components/host/HostStatus/HostStatusIcon.js
index 6cd41fd9f35674069aa7de10133f9be0c523c876..9fdee3d96b2607fdf8f4b4fb5f68aadc46de3c4f 100644
--- a/src/components/host/HostStatus/HostStatusIcon.js
+++ b/src/components/host/HostStatus/HostStatusIcon.js
@@ -7,13 +7,13 @@ import {
   StatusPopoverContent,
   statusConfig
 } from "../../common/Status";
-import { getHostStatusInfo } from "./HostStatusData";
+import { getHostStatus } from "./HostStatusData";
 
 export function HostStatusIcon({ hostStatus, hideAlerts = false }) {
   const theme = useTheme();
 
   let { alerts } = hostStatus;
-  let hostStatusStatus = getHostStatusInfo(hostStatus);
+  let hostStatusStatus = getHostStatus(hostStatus);
 
   const displayBadge =
     !hideAlerts &&