diff --git a/src/views/Control/ServerPowerOperations/ServerPowerOperations.vue b/src/views/Control/ServerPowerOperations/ServerPowerOperations.vue
index 4efaebc..01fc661 100644
--- a/src/views/Control/ServerPowerOperations/ServerPowerOperations.vue
+++ b/src/views/Control/ServerPowerOperations/ServerPowerOperations.vue
@@ -1,16 +1,12 @@
 <template>
   <b-container fluid="xl">
     <page-title />
-    <b-row>
+    <b-row class="mb-4">
       <b-col md="8" xl="6">
         <page-section
           :section-title="$t('pageServerPowerOperations.currentStatus')"
         >
           <dl>
-            <dt>{{ $t('pageServerPowerOperations.hostname') }}</dt>
-            <dd>{{ hostname }}</dd>
-          </dl>
-          <dl>
             <dt>{{ $t('pageServerPowerOperations.hostStatus') }}</dt>
             <dd v-if="hostStatus === 'on'">
               {{ $t('global.status.on') }}
@@ -129,9 +125,6 @@
     hostStatus() {
       return this.$store.getters['global/hostStatus'];
     },
-    hostname() {
-      return this.$store.getters['global/hostName'];
-    },
     isOperationInProgress() {
       return this.$store.getters['controls/isOperationInProgress'];
     },
@@ -139,9 +132,6 @@
       return this.$store.getters['hostBootSettings/overrideEnabled'];
     }
   },
-  created() {
-    this.$store.dispatch('global/getHostName');
-  },
   methods: {
     powerOn() {
       this.$store.dispatch('controls/hostPowerOn');
