diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 0b7645b13df14211dcf38fd9e433e1097b5b4298..4a19686fcfe9a922ead806d98b62f07144f0c832 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -667,7 +667,7 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive)
 				rq->errors = -EIO;
 		}
 
-		if (uptodate == 0)
+		if (uptodate == 0 && rq->bio)
 			ide_cd_error_cmd(drive, cmd);
 
 		/* make sure it's fully ended */