Index: /trunk/src/lib/coord/p_node.cc
===================================================================
--- /trunk/src/lib/coord/p_node.cc	(revision 6779)
+++ /trunk/src/lib/coord/p_node.cc	(revision 6780)
@@ -988,6 +988,6 @@
     glEnd();
   }
-
   glPopMatrix();
+
   if (depth >= 2 || depth == 0)
   {
Index: /trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- /trunk/src/lib/graphics/graphics_engine.cc	(revision 6779)
+++ /trunk/src/lib/graphics/graphics_engine.cc	(revision 6780)
@@ -464,8 +464,9 @@
 void GraphicsEngine::leave2DMode()
 {
+
+  glMatrixMode(GL_MODELVIEW);
+  glPopMatrix();
+
   glMatrixMode(GL_PROJECTION);
-  glPopMatrix();
-
-  glMatrixMode(GL_MODELVIEW);
   glPopMatrix();
 
@@ -578,8 +579,8 @@
 void GraphicsEngine::draw() const
 {
+
+  LightManager::getInstance()->draw();
+
   GraphicsEngine::storeMatrices();
-
-  LightManager::getInstance()->draw();
-
   Shader::suspendShader();
 
Index: /trunk/src/lib/shell/shell.cc
===================================================================
--- /trunk/src/lib/shell/shell.cc	(revision 6779)
+++ /trunk/src/lib/shell/shell.cc	(revision 6780)
@@ -472,5 +472,4 @@
 void Shell::draw() const
 {
-  glPushMatrix();
   // transform for alignment.
   // setting the Blending effects
Index: /trunk/src/story_entities/game_world.cc
===================================================================
--- /trunk/src/story_entities/game_world.cc	(revision 6779)
+++ /trunk/src/story_entities/game_world.cc	(revision 6780)
@@ -393,6 +393,4 @@
   // clear buffer
   glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
-  // set camera
-  this->dataTank->localCamera->apply ();
   // draw world
   this->draw();
@@ -409,7 +407,6 @@
   GraphicsEngine* engine = GraphicsEngine::getInstance();
 
-   /* to draw the bounding boxes of the objects at level 2 for debug purp */
-
-  /* debug draw the PNodes */
+  // set camera
+  this->dataTank->localCamera->apply ();
 
   /* draw all WorldEntiy groups */
@@ -422,4 +419,5 @@
   engine->draw(State::getObjectManager()->getObjectList(OM_GROUP_01_PROJ));
 
+
   if( unlikely( this->showBV))
   {
@@ -436,6 +434,7 @@
     PNode::getNullParent()->debugDraw(0);
 
+  engine->draw();
+
   /* final draw command */
-  engine->draw();
 }
 
Index: /trunk/src/world_entities/camera.cc
===================================================================
--- /trunk/src/world_entities/camera.cc	(revision 6779)
+++ /trunk/src/world_entities/camera.cc	(revision 6780)
@@ -202,15 +202,12 @@
   if( currentMode != VIEW_FRONT) delay = (this->target->getVelocity()) / 25.0f;
 
-  // Setting the Camera Eye, lookAt and up Vectors
+
+  glMatrixMode (GL_MODELVIEW);
+  glLoadIdentity();
+
+ // Setting the Camera Eye, lookAt and up Vectors
   gluLookAt(cameraPosition.x - delay.x, cameraPosition.y - delay.y, cameraPosition.z - delay.z,
             targetPosition.x, targetPosition.y, targetPosition.z,
             up.x, up.y, up.z);
-
-
-  glMatrixMode (GL_MODELVIEW);
-  glLoadIdentity();
-
-
-
 }
 
Index: /trunk/src/world_entities/environments/water.cc
===================================================================
--- /trunk/src/world_entities/environments/water.cc	(revision 6779)
+++ /trunk/src/world_entities/environments/water.cc	(revision 6780)
@@ -200,4 +200,5 @@
 
     SkyBox::disableCubeMap();
+    glPopMatrix();
   }
 }
Index: /trunk/src/world_entities/planet.cc
===================================================================
--- /trunk/src/world_entities/planet.cc	(revision 6779)
+++ /trunk/src/world_entities/planet.cc	(revision 6780)
@@ -130,4 +130,6 @@
   this->getModel(0)->draw();
  // static_cast<VertexArrayModel*>(this->getModel(0))->debug();
+
+  glPopMatrix();
 }
 
Index: /trunk/src/world_entities/power_ups/laser_power_up.cc
===================================================================
--- /trunk/src/world_entities/power_ups/laser_power_up.cc	(revision 6779)
+++ /trunk/src/world_entities/power_ups/laser_power_up.cc	(revision 6780)
@@ -103,5 +103,6 @@
 */
 void LaserPowerUp::draw() const
-{  glMatrixMode(GL_MODELVIEW);
+{
+  glMatrixMode(GL_MODELVIEW);
   glPushMatrix();
   /* translate */
Index: /trunk/src/world_entities/power_ups/turret_power_up.cc
===================================================================
--- /trunk/src/world_entities/power_ups/turret_power_up.cc	(revision 6779)
+++ /trunk/src/world_entities/power_ups/turret_power_up.cc	(revision 6780)
@@ -104,5 +104,6 @@
 */
 void TurretPowerUp::draw() const
-{  glMatrixMode(GL_MODELVIEW);
+{
+  glMatrixMode(GL_MODELVIEW);
   glPushMatrix();
   /* translate */
Index: /trunk/src/world_entities/terrain.cc
===================================================================
--- /trunk/src/world_entities/terrain.cc	(revision 6779)
+++ /trunk/src/world_entities/terrain.cc	(revision 6780)
@@ -130,5 +130,4 @@
 void Terrain::draw () const
 {
-  glMatrixMode(GL_MODELVIEW);
   glPushMatrix();
 
