diff --git a/app/routes/mod-queue.tsx b/app/routes/mod-queue.tsx
index 2eb0301..c4ed39b 100644
--- a/app/routes/mod-queue.tsx
+++ b/app/routes/mod-queue.tsx
@@ -124,6 +124,10 @@ export default function () {
   );
   const toast = useToast();
 
+  useEffect(() => {
+    setMessageChannel(new MessageChannel());
+  }, []);
+
   for (const type of pageProps.entry_types)
     entryTypes.push(
       <option key={type.value} value={type.value}>
@@ -132,9 +136,7 @@ export default function () {
     );
 
   useEffect(() => {
-    if (!messageChannel) {
-      setMessageChannel(new MessageChannel());
-    } else {
+    if (messageChannel) {
       messageChannel.port1.onmessage = function (ev) {
         const { data }: { data: string } = ev;