diff --git a/driver/wishbone.c b/driver/wishbone.c
index 19de17974ff35e066b350955fc72451f47ab516d..44b9a13044c246d9586b4b5d502f9f79a39f8fe9 100644
--- a/driver/wishbone.c
+++ b/driver/wishbone.c
@@ -334,7 +334,7 @@ int wishbone_register(struct wishbone* wb)
 			break;
 		} else {
 			/* Run out of minors? */
-			if (MINOR(dev) - MINOR(wishbone_dev_first) == max_devices) goto fail_out;
+			if (MINOR(dev) - MINOR(wishbone_dev_first) == max_devices-1) goto fail_out;
 			
 			/* Try the next minor */
 			dev = MKDEV(MAJOR(dev), MINOR(dev) + 1);