Index: server/server.cpp
===================================================================
--- server/server.cpp	(revision 8aed9c0de5154bb4504eb5afd9ebab22ac0a4912)
+++ server/server.cpp	(revision bcfd99a8a3361faeb26c80c998ea2cac7caa7a63)
@@ -688,11 +688,5 @@
          }else {
             cout << "Game name: " << g->getName() << endl;
-            p->currentGame = NULL;
-
-            // check if the player that's leaving needs to receive the
-            // LEAVE_GAME message and run thie logic below to make the player
-            // drop any flag he's carrying
-
-            /*
+
             if (!p->isDead) {
                WorldMap::ObjectType flagType = WorldMap::OBJECT_NONE;
@@ -703,8 +697,10 @@
 
                if (flagType != WorldMap::OBJECT_NONE) {
-                  addObjectToMap(flagType, p->pos.x, p->pos.y, gameMap, mapPlayers, msgProcessor);
+                  addObjectToMap(flagType, p->pos.x, p->pos.y, g->getMap(), g->getPlayers(), msgProcessor);
                }
             }
-            */
+
+            p->currentGame = NULL;
+            g->removePlayer(p->id);
 
             serverMsg.type = MSG_TYPE_LEAVE_GAME;
@@ -712,6 +708,4 @@
             strcpy(serverMsg.buffer+4, g->getName().c_str());
             broadcastMessage(msgProcessor, serverMsg, g->getPlayers());
-
-            g->removePlayer(p->id);
 
             int numPlayers = g->getNumPlayers();
