diff --git a/include/ide.h b/include/ide.h
index 8ecc9dd3a53d49a4c6f5227a120ea591e55f752e..385e9098c6737a37ebb31a29b4bd2fe1cce6cfc3 100644
--- a/include/ide.h
+++ b/include/ide.h
@@ -24,7 +24,7 @@
 #ifndef	_IDE_H
 #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev >> 1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
 #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])