diff --git a/src/game/Player.h b/src/game/Player.h
index 8456e39..825a304 100644
--- a/src/game/Player.h
+++ b/src/game/Player.h
@@ -1662,10 +1666,12 @@ class MANGOS_DLL_SPEC Player : public Unit
void AddSpellMod(SpellModifier* mod, bool apply);
@@ -2485,10 +2504,11 @@ class MANGOS_DLL_SPEC Player : public Unit
PlayerMails m_mail;
PlayerSpellMap m_spells;
PlayerTalentMap m_talents[MAX_TALENT_SPEC_COUNT];
SpellCooldowns m_spellCooldowns;
+ clock_t GlobalCDEnd;
uint32 m_lastPotionId; // last used health/mana potion in combat, that block next potion use
+ if( m_caster->GetTypeId()==TYPEID_PLAYER && !m_triggeredByAuraSpell && m_spellInfo->StartRecoveryTime &&
+ ((Player*)m_caster)->HasGlobalCD())
+ return SPELL_FAILED_NOT_READY;
+
// cancel autorepeat spells if cast start when moving
// (not wand currently autorepeat cast delayed to moving stop anyway in spell update code)
if( m_caster->GetTypeId() == TYPEID_PLAYER && ((Player*)m_caster)->isMoving() )
{
// skip stuck spell to allow use it in falling case and apply spell limitations at movement