In char_item.cpp remove:

	if (!item && bCell == WEAR_WEAPON) 	{ 		if (IsAffectFlag(AFF_GWIGUM)) 			RemoveAffect(SKILL_GWIGEOM); 		if (IsAffectFlag(AFF_GEOMGYEONG)) 			RemoveAffect(SKILL_GEOMKYUNG); 	}

Important fix.

 Add in bool CHARACTER::CanUnequipNow

	if (item->GetType() == ITEM_WEAPON) 	{ 		if (IsAffectFlag(AFF_GWIGUM)) 			RemoveAffect(SKILL_GWIGEOM); 		if (IsAffectFlag(AFF_GEOMGYEONG)) 			RemoveAffect(SKILL_GEOMKYUNG); 	}