diff --git a/app/routes/mod-queue.tsx b/app/routes/mod-queue.tsx
index 83248e5..2eb0301 100644
--- a/app/routes/mod-queue.tsx
+++ b/app/routes/mod-queue.tsx
@@ -119,7 +119,9 @@ export default function () {
     [] as { element: ReactNode; id: string }[],
   );
   const [before, setBefore] = useState(Date.now());
-  const [messageChannel] = useState(null as MessageChannel | null);
+  const [messageChannel, setMessageChannel] = useState(
+    null as MessageChannel | null,
+  );
   const toast = useToast();
 
   for (const type of pageProps.entry_types)
@@ -130,13 +132,15 @@ export default function () {
     );
 
   useEffect(() => {
-    if (!messageChannel) return;
+    if (!messageChannel) {
+      setMessageChannel(new MessageChannel());
+    } else {
+      messageChannel.port1.onmessage = function (ev) {
+        const { data }: { data: string } = ev;
 
-    messageChannel.port1.onmessage = function (ev) {
-      const { data }: { data: string } = ev;
-
-      setEntries([...entries].filter((entry) => entry.id !== data));
-    };
+        setEntries([...entries].filter((entry) => entry.id !== data));
+      };
+    }
   }, [messageChannel]);
 
   async function updateQueue(