diff --git a/src/ata.c b/src/ata.c
index 2e44d41..cbd61d9 100644
--- a/src/ata.c
+++ b/src/ata.c
@@ -205,9 +205,6 @@
     u16 iobase2 = GET_EBDA(ata.channels[channel].iobase2);
     u8 mode     = GET_EBDA(ata.devices[biosid].mode);
     int iswrite = (cmd->command & ~0x40) == ATA_CMD_WRITE_SECTORS;
-
-    irq_enable();
-
     u8 current = 0;
     u16 count = cmd->sector_count;
     u8 status;
@@ -256,8 +253,6 @@
         return 4;
     }
 
-    irq_disable();
-
     // Enable interrupts
     outb(ATA_CB_DC_HD15, iobase2+ATA_CB_DC);
     return 0;
@@ -310,8 +305,6 @@
     SET_EBDA(ata.trsfsectors,0);
     SET_EBDA(ata.trsfbytes,0L);
 
-    irq_enable();
-
     // Send command to device
     outsw_far(iobase1, MAKE_32_PTR(GET_SEG(SS), (u32)cmdbuf), cmdlen / 2);
 
diff --git a/src/disk.c b/src/disk.c
index 9320c3c..0ccbe42 100644
--- a/src/disk.c
+++ b/src/disk.c
@@ -75,6 +75,8 @@
     u16 segment = regs->es;
     u16 offset  = regs->bx;
 
+    irq_enable();
+
     u8 status;
     u32 lba;
     if (nph != nlh || npspt != nlspt) {
@@ -90,6 +92,8 @@
                                   , MAKE_32_PTR(segment, offset));
     }
 
+    irq_disable();
+
     // Set nb of sector transferred
     regs->al = GET_EBDA(ata.trsfsectors);
 
@@ -146,8 +150,10 @@
     u16 segment = regs->es;
     u16 offset  = regs->bx;
 
+    irq_enable();
     u8 status = cdrom_read(device, lba, count*512
                            , MAKE_32_PTR(segment, offset), before*512);
+    irq_disable();
     if (status != 0) {
         BX_INFO("int13_harddisk: function %02x, error %02x !\n",regs->ah,status);
         regs->al = 0;
@@ -190,6 +196,8 @@
         return;
     }
 
+    irq_enable();
+
     u8 status;
     if (type == ATA_TYPE_ATA)
         status = ata_cmd_data(device, command, lba, count
@@ -198,6 +206,8 @@
         status = cdrom_read(device, lba, count*2048
                             , MAKE_32_PTR(segment, offset), 0);
 
+    irq_disable();
+
     SET_INT13EXT(regs, count, GET_EBDA(ata.trsfsectors));
 
     if (status != 0) {
