diff --git a/src/views/IOC/IOCDetailsAccessControl.jsx b/src/views/IOC/IOCDetailsAccessControl.jsx
index cc22e3a04ebab75c8ee7ba7afbf87f80265d8fe1..b6b6939aac259f47af9cb7bd1d8127294a085b3e 100644
--- a/src/views/IOC/IOCDetailsAccessControl.jsx
+++ b/src/views/IOC/IOCDetailsAccessControl.jsx
@@ -1,4 +1,3 @@
-import { RootPaper } from "@ess-ics/ce-ui-common";
 import { useParams } from "react-router-dom";
 import { IOCDetailsContainer } from "./IOCDetailsContainer";
 import { AccessControl } from "../../components/auth/AccessControl";
@@ -7,10 +6,8 @@ export function IOCDetailsAccessControl() {
   const { id } = useParams();
 
   return (
-    <RootPaper>
-      <AccessControl allowedRoles={[]}>
-        <IOCDetailsContainer id={id} />
-      </AccessControl>
-    </RootPaper>
+    <AccessControl allowedRoles={[]}>
+      <IOCDetailsContainer id={id} />
+    </AccessControl>
   );
 }
diff --git a/src/views/IOC/IOCDetailsContainer.jsx b/src/views/IOC/IOCDetailsContainer.jsx
index 0cbda486d8b30981bbfd5008656812272b672fde..638b6cd06cb281fac03e015780950b3a4b839ef6 100644
--- a/src/views/IOC/IOCDetailsContainer.jsx
+++ b/src/views/IOC/IOCDetailsContainer.jsx
@@ -1,4 +1,6 @@
 import { LinearProgress } from "@mui/material";
+import { RootPaper } from "@ess-ics/ce-ui-common";
+
 import { IOCDetailsView } from "./IOCDetailsView";
 import { NotFoundView } from "../../components/navigation/NotFoundView/NotFoundView";
 import { useGetIocQuery } from "../../store/enhancedApi";
@@ -7,10 +9,11 @@ import { ApiAlertError } from "../../components/common/Alerts/ApiAlertError";
 const IOC_POLL_INTERVAL = 5000;
 
 export function IOCDetailsContainer({ id }) {
-  const { data: ioc, error } = useGetIocQuery(
-    { iocId: id },
-    { pollingInterval: IOC_POLL_INTERVAL }
-  );
+  const {
+    data: ioc,
+    isLoading,
+    error
+  } = useGetIocQuery({ iocId: id }, { pollingInterval: IOC_POLL_INTERVAL });
 
   if (error && "status" in error && error.status === 404) {
     return <NotFoundView />;
@@ -20,9 +23,17 @@ export function IOCDetailsContainer({ id }) {
     return <ApiAlertError error={error} />;
   }
 
+  if (isLoading || !ioc) {
+    return (
+      <RootPaper>
+        <LinearProgress color="primary" />
+      </RootPaper>
+    );
+  }
+
   return (
-    <>
+    <RootPaper>
       {ioc ? <IOCDetailsView ioc={ioc} /> : <LinearProgress color="primary" />}
-    </>
+    </RootPaper>
   );
 }
diff --git a/src/views/UserPage/UserDetailsAccessControl.jsx b/src/views/UserPage/UserDetailsAccessControl.jsx
index fa64a39fee66775e263d309b4497642beea7972a..f14bc9cc1647cd8de8051236005063cf71453eff 100644
--- a/src/views/UserPage/UserDetailsAccessControl.jsx
+++ b/src/views/UserPage/UserDetailsAccessControl.jsx
@@ -1,13 +1,10 @@
-import { RootPaper } from "@ess-ics/ce-ui-common";
 import { UserDetailsContainer } from "./UserDetailsContainer";
 import { AccessControl } from "../../components/auth/AccessControl";
 
 export function UserDetailsAccessControl() {
   return (
-    <RootPaper>
-      <AccessControl allowedRoles={[]}>
-        <UserDetailsContainer />
-      </AccessControl>
-    </RootPaper>
+    <AccessControl allowedRoles={[]}>
+      <UserDetailsContainer />
+    </AccessControl>
   );
 }
diff --git a/src/views/UserPage/UserDetailsContainer.jsx b/src/views/UserPage/UserDetailsContainer.jsx
index 9fdaf9e9617496dfa2ee5c58387f1267ec7a3af7..40b2b575158aed237a9df7b92660d291302c97a0 100644
--- a/src/views/UserPage/UserDetailsContainer.jsx
+++ b/src/views/UserPage/UserDetailsContainer.jsx
@@ -1,20 +1,21 @@
 import { useContext, useEffect, useState } from "react";
 import { LinearProgress } from "@mui/material";
 import { useParams } from "react-router-dom";
-import { userContext } from "@ess-ics/ce-ui-common";
+import { userContext, RootPaper } from "@ess-ics/ce-ui-common";
 import { UserPageView } from "./UserPageView";
 import { NotFoundView } from "../../components/navigation/NotFoundView/NotFoundView";
-import { useLazyInfoFromUserNameQuery } from "../../store/deployApi";
+import { useInfoFromUserNameQuery } from "../../store/deployApi";
 
 export function UserDetailsContainer() {
   const { userName } = useParams();
   const { user } = useContext(userContext);
   const [error, setError] = useState(null);
 
-  const [
-    getUserInfo,
-    { data: userInfo, isLoading, error: userInfoResponseError }
-  ] = useLazyInfoFromUserNameQuery();
+  const {
+    data: userInfo,
+    isLoading,
+    error: userInfoResponseError
+  } = useInfoFromUserNameQuery({ userName });
 
   useEffect(() => {
     if (userInfoResponseError) {
@@ -30,18 +31,6 @@ export function UserDetailsContainer() {
     }
   }, [userInfoResponseError]);
 
-  useEffect(() => {
-    // user logs in => clear error message, and try to re-request userInfo
-    if (user) {
-      setError(null);
-      getUserInfo({ userName });
-    }
-  }, [user, userName, getUserInfo]);
-
-  if (isLoading || !userInfo) {
-    return <LinearProgress color="primary" />;
-  }
-
   // If there is an error, show it; highest priority
   if (error) {
     return (
@@ -52,15 +41,25 @@ export function UserDetailsContainer() {
     );
   }
 
+  if (isLoading || !userInfo) {
+    return (
+      <RootPaper>
+        <LinearProgress color="primary" />
+      </RootPaper>
+    );
+  }
+
   // If the user is logged in and the userInfo is available
   // Then show the user page
   if (user && userInfo) {
     return (
-      <UserPageView
-        userName={userName}
-        user={user}
-        userInfo={userInfo}
-      />
+      <RootPaper>
+        <UserPageView
+          userName={userName}
+          user={user}
+          userInfo={userInfo}
+        />
+      </RootPaper>
     );
   }
 }
diff --git a/src/views/host/details/HostDetailsAccessControl.jsx b/src/views/host/details/HostDetailsAccessControl.jsx
index 8750fda74748bc58e6d3021bf2f2e8415feee11e..12c4c86e17044e490d6f2dbb509ae103c2536b92 100644
--- a/src/views/host/details/HostDetailsAccessControl.jsx
+++ b/src/views/host/details/HostDetailsAccessControl.jsx
@@ -1,4 +1,3 @@
-import { RootPaper } from "@ess-ics/ce-ui-common";
 import { useParams } from "react-router-dom";
 import { HostDetailsContainer } from "./HostDetailsContainer";
 import { AccessControl } from "../../../components/auth/AccessControl";
@@ -7,10 +6,8 @@ export function HostDetailsAccessControl() {
   const { id } = useParams();
 
   return (
-    <RootPaper data-testid="host-details-container">
-      <AccessControl allowedRoles={[]}>
-        <HostDetailsContainer hostId={id} />
-      </AccessControl>
-    </RootPaper>
+    <AccessControl allowedRoles={[]}>
+      <HostDetailsContainer hostId={id} />
+    </AccessControl>
   );
 }
diff --git a/src/views/host/details/HostDetailsContainer.jsx b/src/views/host/details/HostDetailsContainer.jsx
index 98b45b61c436a5798b014b37cb86eeafdc679865..0ee394937cd2db5e44ea6087bf65a97cc7355602 100644
--- a/src/views/host/details/HostDetailsContainer.jsx
+++ b/src/views/host/details/HostDetailsContainer.jsx
@@ -1,5 +1,6 @@
 import { useState, useEffect } from "react";
 import { LinearProgress } from "@mui/material";
+import { RootPaper } from "@ess-ics/ce-ui-common";
 import { HostDetailsView } from "./HostDetailsView";
 import { onFetchEntityError } from "../../../components/common/Helper";
 import { NotFoundView } from "../../../components/navigation/NotFoundView/NotFoundView";
@@ -35,14 +36,20 @@ export function HostDetailsContainer({ hostId }) {
   }
 
   if (!host || !alert) {
-    return <LinearProgress color="primary" />;
+    return (
+      <RootPaper>
+        <LinearProgress color="primary" />
+      </RootPaper>
+    );
   }
 
   return (
-    <HostDetailsView
-      host={host}
-      alert={alert}
-      hostId={hostId}
-    />
+    <RootPaper data-testid="host-details-container">
+      <HostDetailsView
+        host={host}
+        alert={alert}
+        hostId={hostId}
+      />
+    </RootPaper>
   );
 }
diff --git a/src/views/jobs/JobDetailsAccessControl.jsx b/src/views/jobs/JobDetailsAccessControl.jsx
index 71692ad10f0f7f9702d552ed7ebae6797850d7e9..0b970f4f1509aa605770a060cb7eb4f0bcf0cb7c 100644
--- a/src/views/jobs/JobDetailsAccessControl.jsx
+++ b/src/views/jobs/JobDetailsAccessControl.jsx
@@ -1,4 +1,3 @@
-import { RootPaper } from "@ess-ics/ce-ui-common";
 import { useParams } from "react-router-dom";
 import { JobDetailsContainer } from "./JobDetailsContainer";
 import { AccessControl } from "../../components/auth/AccessControl";
@@ -7,10 +6,8 @@ export function JobDetailsAccessControl() {
   const { id } = useParams();
 
   return (
-    <RootPaper>
-      <AccessControl allowedRoles={[]}>
-        <JobDetailsContainer id={id} />
-      </AccessControl>
-    </RootPaper>
+    <AccessControl allowedRoles={[]}>
+      <JobDetailsContainer id={id} />
+    </AccessControl>
   );
 }
diff --git a/src/views/jobs/JobDetailsContainer.jsx b/src/views/jobs/JobDetailsContainer.jsx
index 6953ade83f21129b79656b7ff5457c13652f3c60..b137f869ec7144feec8d4edcc9bdfb00bbb8b5c2 100644
--- a/src/views/jobs/JobDetailsContainer.jsx
+++ b/src/views/jobs/JobDetailsContainer.jsx
@@ -1,5 +1,6 @@
 import { useState, useEffect } from "react";
 import { LinearProgress } from "@mui/material";
+import { RootPaper } from "@ess-ics/ce-ui-common";
 import { JobDetailsView } from "./JobDetailsView";
 import { NotFoundView } from "../../components/navigation/NotFoundView/NotFoundView";
 import { onFetchEntityError } from "../../components/common/Helper";
@@ -47,8 +48,16 @@ export function JobDetailsContainer({ id }) {
   }
 
   if (isLoading || !job) {
-    return <LinearProgress color="primary" />;
+    return (
+      <RootPaper>
+        <LinearProgress color="primary" />
+      </RootPaper>
+    );
   }
 
-  return <JobDetailsView job={job} />;
+  return (
+    <RootPaper>
+      <JobDetailsView job={job} />;
+    </RootPaper>
+  );
 }