diff --git a/common/scsi.c b/common/scsi.c
index e7efa5ae797ca1846798a542ba8557f8124708fd..fb5b407f6b1532d5f82234304ce488936a4c9645 100644
--- a/common/scsi.c
+++ b/common/scsi.c
@@ -559,6 +559,8 @@ int scsi_scan(int mode)
 	if (mode == 1)
 		printf("scanning bus for devices...\n");
 
+	blk_unbind_all(IF_TYPE_SCSI);
+
 	ret = uclass_get(UCLASS_SCSI, &uc);
 	if (ret)
 		return ret;