Index: branches/objectmanager/src/lib/collision_detection/cd_engine.cc
===================================================================
--- branches/objectmanager/src/lib/collision_detection/cd_engine.cc	(revision 6134)
+++ branches/objectmanager/src/lib/collision_detection/cd_engine.cc	(revision 6135)
@@ -110,12 +110,19 @@
 {
   BVTree* tree;
-  std::list<WorldEntity*>::iterator entity1, entity2;
+  std::list<WorldEntity*>::iterator entity1, entity2, pre1, pre2;
   PRINTF(3)("checking for collisions\n");
-  for (entity1 = list1.begin(); entity1 != list1.end(); entity1++)
+
+  pre1 = list1.begin();
+  while (pre1 != list1.end())
   {
+    entity1 = pre1;
+    pre1++;
     if( likely((*entity1) != this->terrain))
     {
-      for (entity2 = list2.begin(); entity2 != list2.end(); entity2++)
+      pre2 = list2.begin();
+      while (pre2 != list2.end())
       {
+        entity2 = pre2;
+        pre2++;
         if( likely((*entity2) != this->terrain))
         {
Index: branches/objectmanager/src/story_entities/world.cc
===================================================================
--- branches/objectmanager/src/story_entities/world.cc	(revision 6134)
+++ branches/objectmanager/src/story_entities/world.cc	(revision 6135)
@@ -690,18 +690,9 @@
       this->gameTime += this->dtS;
 
-      this->tick(this->objectManager.getObjectList(OM_DEAD_TICK), this->dtS);
+/*      this->tick(this->objectManager.getObjectList(OM_DEAD_TICK), this->dtS);
       this->tick(this->objectManager.getObjectList(OM_COMMON), this->dtS);
-      this->tick(this->objectManager.getObjectList(OM_GROUP_00), this->dtS);
+      this->tick(this->objectManager.getObjectList(OM_GROUP_00), this->dtS);*/
       this->tick(this->objectManager.getObjectList(OM_GROUP_01), this->dtS);
       this->tick(this->objectManager.getObjectList(OM_GROUP_01_PROJ), this->dtS);
-
-//       tIterator<WorldEntity>* iterator = this->entities->getIterator();
-//       WorldEntity* entity = iterator->firstElement();
-//       while( entity != NULL)
-//         {
-//           entity->tick (this->dtS);
-//           entity = iterator->nextElement();
-//         }
-//       delete iterator;
 
       /* update tick the rest */
@@ -747,6 +738,8 @@
 void World::collide()
 {
-  CDEngine::getInstance()->checkCollisions(this->objectManager.getObjectList(OM_GROUP_00), this->objectManager.getObjectList(OM_GROUP_01_PROJ));
-  CDEngine::getInstance()->checkCollisions(this->objectManager.getObjectList(OM_GROUP_01), this->objectManager.getObjectList(OM_COMMON));
+  CDEngine::getInstance()->checkCollisions(this->objectManager.getObjectList(OM_GROUP_00),
+                                            this->objectManager.getObjectList(OM_GROUP_01_PROJ));
+  CDEngine::getInstance()->checkCollisions(this->objectManager.getObjectList(OM_GROUP_01),
+                                            this->objectManager.getObjectList(OM_COMMON));
 }
 
Index: branches/objectmanager/src/world_entities/npcs/npc.cc
===================================================================
--- branches/objectmanager/src/world_entities/npcs/npc.cc	(revision 6134)
+++ branches/objectmanager/src/world_entities/npcs/npc.cc	(revision 6135)
@@ -50,5 +50,5 @@
       WorldEntity* powerUp = new TurretPowerUp();
       powerUp->setAbsCoor(this->getAbsCoor());
-      powerUp->toList(OM_COMMON);
+//      powerUp->toList(OM_COMMON);
     }
     else if ((float)rand()/RAND_MAX < .3)
Index: branches/objectmanager/src/world_entities/space_ships/space_ship.cc
===================================================================
--- branches/objectmanager/src/world_entities/space_ships/space_ship.cc	(revision 6134)
+++ branches/objectmanager/src/world_entities/space_ships/space_ship.cc	(revision 6135)
@@ -112,5 +112,5 @@
   PRINTF(4)("SPACESHIP INIT\n");
 
-  EventHandler::getInstance()->grabEvents(false);
+  EventHandler::getInstance()->grabEvents(true);
 
   bUp = bDown = bLeft = bRight = bAscend = bDescend = bRollL = bRollR = false;
Index: branches/objectmanager/src/world_entities/weapons/laser.cc
===================================================================
--- branches/objectmanager/src/world_entities/weapons/laser.cc	(revision 6134)
+++ branches/objectmanager/src/world_entities/weapons/laser.cc	(revision 6135)
@@ -96,7 +96,6 @@
   ParticleEngine::getInstance()->breakConnections(this->emitter);
   this->lifeCycle = 0.0;
+
   this->toList(OM_NULL);
-
-  this->toList(OM_DEAD);
   this->removeNode();
   Laser::fastFactory->kill(this);
@@ -133,5 +132,4 @@
   this->lifeCycle = .95; //!< @todo calculate this usefully.
   ParticleEngine::getInstance()->addConnection(this->emitter, Laser::explosionParticles);
-
 }
 
