Index: /trunk/src/game/OutdoorPvPZM.cpp
===================================================================
--- /trunk/src/game/OutdoorPvPZM.cpp (revision 44)
+++ /trunk/src/game/OutdoorPvPZM.cpp (revision 80)
@@ -214,10 +214,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,ZM_CAPTURE_BUFF,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,ZM_CAPTURE_BUFF,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(ZM_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(ZM_CAPTURE_BUFF);
         }
     }
@@ -227,10 +227,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,ZM_CAPTURE_BUFF,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,ZM_CAPTURE_BUFF,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[0].begin(); itr != m_PlayerGuids[0].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(ZM_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(ZM_CAPTURE_BUFF);
         }
     }
@@ -240,10 +240,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(ZM_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(ZM_CAPTURE_BUFF);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(ZM_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(ZM_CAPTURE_BUFF);
         }
     }
Index: /trunk/src/game/OutdoorPvPHP.cpp
===================================================================
--- /trunk/src/game/OutdoorPvPHP.cpp (revision 44)
+++ /trunk/src/game/OutdoorPvPHP.cpp (revision 80)
@@ -318,10 +318,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,AllianceBuff,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,AllianceBuff,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(HordeBuff);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(HordeBuff);
         }
     }
@@ -331,10 +331,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,HordeBuff,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,HordeBuff,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[0].begin(); itr != m_PlayerGuids[0].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(AllianceBuff);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(AllianceBuff);
         }
     }
@@ -344,10 +344,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(AllianceBuff);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(AllianceBuff);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(HordeBuff);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(HordeBuff);
         }
     }
Index: /trunk/src/game/OutdoorPvPEP.cpp
===================================================================
--- /trunk/src/game/OutdoorPvPEP.cpp (revision 44)
+++ /trunk/src/game/OutdoorPvPEP.cpp (revision 80)
@@ -841,7 +841,7 @@
         {
             for(int i = 0; i < 4; ++i)
-                plr->RemoveAurasDueToSpell(EP_AllianceBuffs[i]);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(EP_AllianceBuffs[i]);
             if(m_AllianceTowersControlled && m_AllianceTowersControlled < 5)
-                plr->CastSpell(plr,EP_AllianceBuffs[m_AllianceTowersControlled-1],true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,EP_AllianceBuffs[m_AllianceTowersControlled-1],true);
         }
     }
@@ -851,7 +851,7 @@
         {
             for(int i = 0; i < 4; ++i)
-                plr->RemoveAurasDueToSpell(EP_HordeBuffs[i]);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(EP_HordeBuffs[i]);
             if(m_HordeTowersControlled && m_HordeTowersControlled < 5)
-                plr->CastSpell(plr,EP_HordeBuffs[m_HordeTowersControlled-1],true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,EP_HordeBuffs[m_HordeTowersControlled-1],true);
         }
     }
Index: /trunk/src/game/OutdoorPvPNA.cpp
===================================================================
--- /trunk/src/game/OutdoorPvPNA.cpp (revision 44)
+++ /trunk/src/game/OutdoorPvPNA.cpp (revision 80)
@@ -73,10 +73,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,NA_CAPTURE_BUFF,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,NA_CAPTURE_BUFF,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(NA_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(NA_CAPTURE_BUFF);
         }
     }
@@ -86,10 +86,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,NA_CAPTURE_BUFF,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,NA_CAPTURE_BUFF,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[0].begin(); itr != m_PlayerGuids[0].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(NA_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(NA_CAPTURE_BUFF);
         }
     }
@@ -99,10 +99,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(NA_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(NA_CAPTURE_BUFF);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(NA_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(NA_CAPTURE_BUFF);
         }
     }
Index: /trunk/src/game/OutdoorPvPSI.cpp
===================================================================
--- /trunk/src/game/OutdoorPvPSI.cpp (revision 44)
+++ /trunk/src/game/OutdoorPvPSI.cpp (revision 80)
@@ -71,10 +71,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,SI_CENARION_FAVOR,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,SI_CENARION_FAVOR,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(SI_CENARION_FAVOR);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(SI_CENARION_FAVOR);
         }
     }
@@ -84,10 +84,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,SI_CENARION_FAVOR,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,SI_CENARION_FAVOR,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[0].begin(); itr != m_PlayerGuids[0].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(SI_CENARION_FAVOR);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(SI_CENARION_FAVOR);
         }
     }
@@ -97,10 +97,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(SI_CENARION_FAVOR);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(SI_CENARION_FAVOR);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(SI_CENARION_FAVOR);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(SI_CENARION_FAVOR);
         }
     }
Index: /trunk/src/game/OutdoorPvPTF.cpp
===================================================================
--- /trunk/src/game/OutdoorPvPTF.cpp (revision 44)
+++ /trunk/src/game/OutdoorPvPTF.cpp (revision 80)
@@ -123,10 +123,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,TF_CAPTURE_BUFF,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,TF_CAPTURE_BUFF,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(TF_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(TF_CAPTURE_BUFF);
         }
     }
@@ -136,10 +136,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->CastSpell(plr,TF_CAPTURE_BUFF,true);
+                if(plr->IsInWorld()) plr->CastSpell(plr,TF_CAPTURE_BUFF,true);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[0].begin(); itr != m_PlayerGuids[0].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(TF_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(TF_CAPTURE_BUFF);
         }
     }
@@ -149,10 +149,10 @@
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(TF_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(TF_CAPTURE_BUFF);
         }
         for(std::set<uint64>::iterator itr = m_PlayerGuids[1].begin(); itr != m_PlayerGuids[1].end(); ++itr)
         {
             if(Player * plr = objmgr.GetPlayer(*itr))
-                plr->RemoveAurasDueToSpell(TF_CAPTURE_BUFF);
+                if(plr->IsInWorld()) plr->RemoveAurasDueToSpell(TF_CAPTURE_BUFF);
         }
     }
