diff --git a/userspace/libswitchhw/i2c_sfp.c b/userspace/libswitchhw/i2c_sfp.c
index 679fbe2d30dc96b2936a91f14e60d84ed7162c74..ea8eda30f1193f71e467416c2918bbff88e9a7a7 100644
--- a/userspace/libswitchhw/i2c_sfp.c
+++ b/userspace/libswitchhw/i2c_sfp.c
@@ -202,7 +202,7 @@ int shw_sfp_bus_scan(int num, uint8_t *dev_map)
 	int i;
 	int detect;
 
-	if (num < 0 || num > ARRAY_SIZE(i2c_buses))
+	if (num < 0 || num >= ARRAY_SIZE(i2c_buses))
 		return -1;
 
 	if (i2c_buses[num].err)