diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp
index 040e69fa6..704db0569 100644
--- a/src/duckstation-qt/mainwindow.cpp
+++ b/src/duckstation-qt/mainwindow.cpp
@@ -373,26 +373,37 @@ void MainWindow::onGameListContextMenuRequested(const QPoint& point, const GameL
 
     menu.addSeparator();
 
-    if (!entry->code.empty())
+    if (!m_emulation_running)
     {
-      m_host_interface->populateGameListContextMenu(entry->code.c_str(), this, &menu);
-      menu.addSeparator();
+      if (!entry->code.empty())
+      {
+        m_host_interface->populateGameListContextMenu(entry->code.c_str(), this, &menu);
+        menu.addSeparator();
+      }
+
+      connect(menu.addAction(tr("Default Boot")), &QAction::triggered,
+              [this, entry]() { m_host_interface->bootSystem(SystemBootParameters(entry->path)); });
+
+      connect(menu.addAction(tr("Fast Boot")), &QAction::triggered, [this, entry]() {
+        SystemBootParameters boot_params(entry->path);
+        boot_params.override_fast_boot = true;
+        m_host_interface->bootSystem(boot_params);
+      });
+
+      connect(menu.addAction(tr("Full Boot")), &QAction::triggered, [this, entry]() {
+        SystemBootParameters boot_params(entry->path);
+        boot_params.override_fast_boot = false;
+        m_host_interface->bootSystem(boot_params);
+      });
+    }
+    else
+    {
+      connect(menu.addAction(tr("Change Disc")), &QAction::triggered, [this, entry]() {
+        m_host_interface->changeDisc(QString::fromStdString(entry->path));
+        m_host_interface->pauseSystem(false);
+        switchToEmulationView();
+      });
     }
-
-    connect(menu.addAction(tr("Default Boot")), &QAction::triggered,
-            [this, entry]() { m_host_interface->bootSystem(SystemBootParameters(entry->path)); });
-
-    connect(menu.addAction(tr("Fast Boot")), &QAction::triggered, [this, entry]() {
-      SystemBootParameters boot_params(entry->path);
-      boot_params.override_fast_boot = true;
-      m_host_interface->bootSystem(boot_params);
-    });
-
-    connect(menu.addAction(tr("Full Boot")), &QAction::triggered, [this, entry]() {
-      SystemBootParameters boot_params(entry->path);
-      boot_params.override_fast_boot = false;
-      m_host_interface->bootSystem(boot_params);
-    });
 
     menu.addSeparator();
   }