diff --git a/hw/ide/core.c b/hw/ide/core.c
index 83e86aa..76a3fdf 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1190,6 +1190,12 @@
     return false;
 }
 
+static bool cmd_seek(IDEState *s, uint8_t cmd)
+{
+    /* XXX: Check that seek is within bounds */
+    return true;
+}
+
 static bool cmd_read_native_max(IDEState *s, uint8_t cmd)
 {
     bool lba48 = (cmd == WIN_READ_NATIVE_MAX_EXT);
@@ -1322,7 +1328,7 @@
     [WIN_VERIFY]                  = { cmd_verify, HD_CFA_OK | SET_DSC },
     [WIN_VERIFY_ONCE]             = { cmd_verify, HD_CFA_OK | SET_DSC },
     [WIN_VERIFY_EXT]              = { cmd_verify, HD_CFA_OK | SET_DSC },
-    [WIN_SEEK]                    = { NULL, HD_CFA_OK },
+    [WIN_SEEK]                    = { cmd_seek, HD_CFA_OK | SET_DSC },
     [CFA_TRANSLATE_SECTOR]        = { NULL, CFA_OK },
     [WIN_DIAGNOSE]                = { NULL, ALL_OK },
     [WIN_SPECIFY]                 = { cmd_nop, HD_CFA_OK | SET_DSC },
@@ -1409,11 +1415,6 @@
     }
 
     switch(val) {
-    case WIN_SEEK:
-        /* XXX: Check that seek is within bounds */
-        s->status = READY_STAT | SEEK_STAT;
-        ide_set_irq(s->bus);
-        break;
         /* ATAPI commands */
     case WIN_PIDENTIFY:
         ide_atapi_identify(s);
