diff --git a/driver/Makefile b/driver/Makefile
index 99fe46504227bdca580fe8bcd2cd1d8de5cbd88d..0919a00f4fd93ee02b6a39a2fd9a97c3f55ba46e 100644
--- a/driver/Makefile
+++ b/driver/Makefile
@@ -15,7 +15,7 @@
 
 
 
-KERNELDIR ?= /usr/src/linux-3.2.14 #/common/usr/embedded/kernel/scu/linux-2.6.33.6/
+KERNELDIR ?= /lib/modules/`uname -r`/build #/usr/src/linux-3.2.14 #/common/usr/embedded/kernel/scu/linux-2.6.33.6/
 ifneq ($(KERNELRELEASE),)
 	obj-m	:= pcie_wb.o wishbone.o
 else
diff --git a/driver/wishbone.c b/driver/wishbone.c
index 4df532e231b1b54b4b2b27d6fe8ace0312ded241..19de17974ff35e066b350955fc72451f47ab516d 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) == max_devices) goto fail_out;
+			if (MINOR(dev) - MINOR(wishbone_dev_first) == max_devices) goto fail_out;
 			
 			/* Try the next minor */
 			dev = MKDEV(MAJOR(dev), MINOR(dev) + 1);