Index: /code/branches/core5/src/libraries/core/ClassTreeMask.h
===================================================================
--- /code/branches/core5/src/libraries/core/ClassTreeMask.h	(revision 5784)
+++ /code/branches/core5/src/libraries/core/ClassTreeMask.h	(revision 5785)
@@ -265,7 +265,7 @@
 
             /** @brief Returns true if the ClassTreeMaskObjectIterator points at the given object. @param pointer The pointer of the object */
-            inline bool operator==(BaseObject* pointer) const { return ((*this->objectIterator_) == pointer); }
+            inline bool operator==(BaseObject* pointer) const { return (this->objectIterator_ && (*this->objectIterator_) == pointer) || (!this->objectIterator_ && pointer == 0); }
             /** @brief Returns true if the ClassTreeMaskObjectIterator doesn't point at the given object. @param pointer The pointer of the object */
-            inline bool operator!=(BaseObject* pointer) const { return ((*this->objectIterator_) != pointer); }
+            inline bool operator!=(BaseObject* pointer) const { return (this->objectIterator_ && (*this->objectIterator_) != pointer) || (!this->objectIterator_ && pointer != 0); }
             /** @brief Returns true if the ClassTreeMaskObjectIterator hasn't already reached the end. */
             inline operator bool() const { return (this->objectIterator_); }
Index: /code/branches/core5/src/libraries/core/Iterator.h
===================================================================
--- /code/branches/core5/src/libraries/core/Iterator.h	(revision 5784)
+++ /code/branches/core5/src/libraries/core/Iterator.h	(revision 5785)
@@ -167,5 +167,4 @@
 
                 return (*this);
-                return *this;
             }
 
@@ -193,6 +192,5 @@
             inline const Iterator<T>& operator++()
             {
-                if (this->element_)
-                    this->element_ = this->element_->next_;
+                this->element_ = this->element_->next_;
                 return *this;
             }
@@ -205,6 +203,5 @@
             {
                 Iterator<T> copy = *this;
-                if (this->element_)
-                    this->element_ = this->element_->next_;
+                this->element_ = this->element_->next_;
                 return copy;
             }
@@ -216,6 +213,5 @@
             inline const Iterator<T>& operator--()
             {
-                if (this->element_)
-                    this->element_ = this->element_->prev_;
+                this->element_ = this->element_->prev_;
                 return *this;
             }
@@ -228,6 +224,5 @@
             {
                 Iterator<T> copy = *this;
-                if (this->element_)
-                    this->element_ = this->element_->prev_;
+                this->element_ = this->element_->prev_;
                 return copy;
             }
@@ -239,8 +234,5 @@
             inline T* operator*() const
             {
-                if (this->element_)
-                    return orxonox_cast<T*>(this->element_->objectBase_);
-                else
-                    return 0;
+                return orxonox_cast<T*>(this->element_->objectBase_);
             }
 
@@ -251,8 +243,5 @@
             inline T* operator->() const
             {
-                if (this->element_)
-                    return orxonox_cast<T*>(this->element_->objectBase_);
-                else
-                    return 0;
+                return orxonox_cast<T*>(this->element_->objectBase_);
             }
 
Index: /code/branches/core5/src/libraries/core/ObjectListIterator.h
===================================================================
--- /code/branches/core5/src/libraries/core/ObjectListIterator.h	(revision 5784)
+++ /code/branches/core5/src/libraries/core/ObjectListIterator.h	(revision 5785)
@@ -123,6 +123,5 @@
             inline const ObjectListIterator<T>& operator++()
             {
-                if (this->element_)
-                    this->element_ = static_cast<ObjectListElement<T>*>(this->element_->next_);
+                this->element_ = static_cast<ObjectListElement<T>*>(this->element_->next_);
                 return *this;
             }
@@ -135,6 +134,5 @@
             {
                 ObjectListIterator<T> copy = *this;
-                if (this->element_)
-                    this->element_ = static_cast<ObjectListElement<T>*>(this->element_->next_);
+                this->element_ = static_cast<ObjectListElement<T>*>(this->element_->next_);
                 return copy;
             }
@@ -146,6 +144,5 @@
             inline const ObjectListIterator<T>& operator--()
             {
-                if (this->element_)
-                    this->element_ = static_cast<ObjectListElement<T>*>(this->element_->prev_);
+                this->element_ = static_cast<ObjectListElement<T>*>(this->element_->prev_);
                 return *this;
             }
@@ -158,6 +155,5 @@
             {
                 ObjectListIterator<T> copy = *this;
-                if (this->element_)
-                    this->element_ = static_cast<ObjectListElement<T>*>(this->element_->prev_);
+                this->element_ = static_cast<ObjectListElement<T>*>(this->element_->prev_);
                 return copy;
             }
@@ -169,8 +165,5 @@
             inline T* operator*() const
             {
-                if (this->element_)
-                    return this->element_->object_;
-                else
-                    return 0;
+                return this->element_->object_;
             }
 
@@ -181,8 +174,5 @@
             inline T* operator->() const
             {
-                if (this->element_)
-                    return this->element_->object_;
-                else
-                    return 0;
+                return this->element_->object_;
             }
 
Index: /code/branches/core5/src/modules/gamestates/GSRoot.cc
===================================================================
--- /code/branches/core5/src/modules/gamestates/GSRoot.cc	(revision 5784)
+++ /code/branches/core5/src/modules/gamestates/GSRoot.cc	(revision 5785)
@@ -111,6 +111,6 @@
         }
 
-        for (ObjectList<TimerBase>::iterator it = ObjectList<TimerBase>::begin(); it; ++it)
-            it->tick(time);
+        for (ObjectList<TimerBase>::iterator it = ObjectList<TimerBase>::begin(); it; )
+            (it++)->tick(time);
 
         /*** HACK *** HACK ***/
@@ -122,6 +122,6 @@
             leveldt = 0.0f;
         }
-        for (ObjectList<Tickable>::iterator it = ObjectList<Tickable>::begin(); it; ++it)
-            it->tick(leveldt * this->timeFactor_);
+        for (ObjectList<Tickable>::iterator it = ObjectList<Tickable>::begin(); it; )
+            (it++)->tick(leveldt * this->timeFactor_);
         /*** HACK *** HACK ***/
     }
Index: /code/branches/core5/src/orxonox/Radar.cc
===================================================================
--- /code/branches/core5/src/orxonox/Radar.cc	(revision 5784)
+++ /code/branches/core5/src/orxonox/Radar.cc	(revision 5785)
@@ -84,5 +84,8 @@
     const RadarViewable* Radar::getFocus()
     {
-        return *(this->itFocus_);
+        if (this->itFocus_)
+            return *(this->itFocus_);
+        else
+            return 0;
     }
 
@@ -101,5 +104,5 @@
         SUPER(Radar, tick, dt);
 
-        if (this->focus_ != *(this->itFocus_))
+        if (this->itFocus_ && (this->focus_ != *(this->itFocus_)))
         {
             // focus object was deleted, release focus
Index: /code/branches/core5/src/orxonox/overlays/Map.cc
===================================================================
--- /code/branches/core5/src/orxonox/overlays/Map.cc	(revision 5784)
+++ /code/branches/core5/src/orxonox/overlays/Map.cc	(revision 5785)
@@ -290,5 +290,5 @@
        for(ObjectList<orxonox::RadarViewable>::iterator it = ObjectList<orxonox::RadarViewable>::begin();
             it!=ObjectList<orxonox::RadarViewable>::end();
-            it++)
+            ++it)
         {
             //COUT(0) << "Radar_Position: " << it->getRVWorldPosition() << std::endl;
@@ -392,5 +392,5 @@
         for(ObjectList<orxonox::Map>::iterator it = ObjectList<orxonox::Map>::begin();
             it!=ObjectList<orxonox::Map>::end();
-            it++)
+            ++it)
         {
         //Map * m = it->getMap();
Index: /code/branches/core5/src/orxonox/pickup/DroppedItem.cc
===================================================================
--- /code/branches/core5/src/orxonox/pickup/DroppedItem.cc	(revision 5784)
+++ /code/branches/core5/src/orxonox/pickup/DroppedItem.cc	(revision 5785)
@@ -56,5 +56,5 @@
         if (this->item_)
         {
-            for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); it++)
+            for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); ++it)
             {
                 Vector3 distance = it->getWorldPosition() - this->getWorldPosition();
Index: /code/branches/core5/src/orxonox/pickup/PickupSpawner.cc
===================================================================
--- /code/branches/core5/src/orxonox/pickup/PickupSpawner.cc	(revision 5784)
+++ /code/branches/core5/src/orxonox/pickup/PickupSpawner.cc	(revision 5785)
@@ -127,5 +127,5 @@
         if (this->isActive())
         {
-            for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); it++)
+            for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); ++it)
             {
                 Vector3 distance = it->getWorldPosition() - this->getWorldPosition();
