diff --git a/src/core/cdrom.cpp b/src/core/cdrom.cpp
index 1a5004a1f..2d383098f 100644
--- a/src/core/cdrom.cpp
+++ b/src/core/cdrom.cpp
@@ -1041,10 +1041,11 @@ void CDROM::ExecuteCommand()
     {
       if (m_secondary_status.seeking)
       {
-        Log_WarningPrintf("CDROM Pause command while seeking - sending error response");
-        SendErrorResponse(STAT_ERROR, ERROR_REASON_NOT_READY);
-        EndCommand();
-        return;
+        // TODO: On console, this returns an error. But perhaps only during the coarse/fine seek part? Needs more
+        // hardware tests.
+        Log_WarningPrintf("CDROM Pause command while seeking - updating position");
+        UpdatePositionWhileSeeking();
+        m_drive_event->Deactivate();
       }
 
       // TODO: Should return an error if seeking.