diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 5e9926cddf64987abe4ec1e5490b3c3f9190b134..86c4db9f6f725ecff5588d651c37c72715cc729c 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1026,6 +1026,7 @@ static int mmc_startup(struct mmc *mmc)
 			mmc->capacity_gp[i] *=
 				ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE];
 			mmc->capacity_gp[i] *= ext_csd[EXT_CSD_HC_WP_GRP_SIZE];
+			mmc->capacity_gp[i] <<= 19;
 			if (mmc->capacity_gp[i])
 				has_parts = true;
 		}