Alteration (due to folk etymology) of shamefast, from Middle English schamefast, schamfast, sceomefest, from Old English sceamfæst, scamfæst ("bashful, shy, modest", literally firm or fast in modesty or shame), equivalent to shame + fast.