card->ext_csd.strobe_support = ext_csd[EXT_CSD_STROBE_SUPPORT];
        card->ext_csd.raw_card_type = ext_csd[EXT_CSD_CARD_TYPE];
-       mmc_select_card_type(card);
 
        card->ext_csd.raw_s_a_timeout = ext_csd[EXT_CSD_S_A_TIMEOUT];
        card->ext_csd.raw_erase_timeout_mult =
                mmc_set_erase_size(card);
        }
 
+       /*
+        * Reselect the card type since host caps could have been changed when
+        * debugging even if the card is not new.
+        */
+       mmc_select_card_type(card);
+
        /* Enable ERASE_GRP_DEF. This bit is lost after a reset or power off. */
        if (card->ext_csd.rev >= 3) {
                err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,