Index: /code/branches/core5/data/levels/events.oxw
===================================================================
--- /code/branches/core5/data/levels/events.oxw	(revision 5889)
+++ /code/branches/core5/data/levels/events.oxw	(revision 5890)
@@ -96,5 +96,5 @@
     <Billboard name="bb3" position="100,150,0" material="Examples/Flare" colour="1.0, 1.0, 1.0" visible=0 />
     <Billboard name="bb3" position="100,150,100" material="Examples/Flare" colour="1.0, 1.0, 1.0" visible=0 />
-    <EventTarget name="bb3">
+    <EventTarget target="bb3">
       <events>
         <visibility>
@@ -144,5 +144,5 @@
     <EventDispatcher>
       <targets>
-        <EventTarget name="bb5" />
+        <EventTarget target="bb5" />
       </targets>
       <events>
Index: /code/branches/core5/data/levels/old/physicstest2.oxw
===================================================================
--- /code/branches/core5/data/levels/old/physicstest2.oxw	(revision 5889)
+++ /code/branches/core5/data/levels/old/physicstest2.oxw	(revision 5890)
@@ -243,7 +243,7 @@
     <!--EventDispatcher>
       <targets>
-        <EventTarget name=fireright />
-        <EventTarget name=firecenter />
-        <EventTarget name=fireleft />
+        <EventTarget target=fireright />
+        <EventTarget target=firecenter />
+        <EventTarget target=fireleft />
       </targets>
       <events>
Index: /code/branches/core5/data/levels/old/princessaeryn.oxw
===================================================================
--- /code/branches/core5/data/levels/old/princessaeryn.oxw	(revision 5889)
+++ /code/branches/core5/data/levels/old/princessaeryn.oxw	(revision 5890)
@@ -264,5 +264,5 @@
             <EventDispatcher>
                 <targets>
-                    <EventTarget name=trail />
+                    <EventTarget target=trail />
                 </targets>
                 <events>
Index: /code/branches/core5/data/levels/old/sample4.oxw
===================================================================
--- /code/branches/core5/data/levels/old/sample4.oxw	(revision 5889)
+++ /code/branches/core5/data/levels/old/sample4.oxw	(revision 5890)
@@ -123,7 +123,7 @@
     <EventDispatcher>
       <targets>
-        <EventTarget name=fireright />
-        <EventTarget name=firecenter />
-        <EventTarget name=fireleft />
+        <EventTarget target=fireright />
+        <EventTarget target=firecenter />
+        <EventTarget target=fireleft />
       </targets>
       <events>
Index: /code/branches/core5/data/levels/presentation.oxw
===================================================================
--- /code/branches/core5/data/levels/presentation.oxw	(revision 5889)
+++ /code/branches/core5/data/levels/presentation.oxw	(revision 5890)
@@ -151,7 +151,7 @@
     <EventDispatcher>
       <targets>
-        <EventTarget name=fireright />
-        <EventTarget name=firecenter />
-        <EventTarget name=fireleft />
+        <EventTarget target=fireright />
+        <EventTarget target=firecenter />
+        <EventTarget target=fireleft />
       </targets>
       <events>
Index: /code/branches/core5/data/levels/presentation09b.oxw
===================================================================
--- /code/branches/core5/data/levels/presentation09b.oxw	(revision 5889)
+++ /code/branches/core5/data/levels/presentation09b.oxw	(revision 5890)
@@ -111,5 +111,5 @@
     <EventDispatcher>
       <targets>
-        <EventTarget name=pirates />
+        <EventTarget target=pirates />
       </targets>
       <events>
@@ -163,5 +163,5 @@
     <EventDispatcher>
       <targets>
-        <EventTarget name=attacker />
+        <EventTarget target=attacker />
       </targets>
       <events>
Index: /code/branches/core5/data/levels/princessaeryn.oxw
===================================================================
--- /code/branches/core5/data/levels/princessaeryn.oxw	(revision 5889)
+++ /code/branches/core5/data/levels/princessaeryn.oxw	(revision 5890)
@@ -227,5 +227,5 @@
             <EventDispatcher>
                 <targets>
-                    <EventTarget name=trail />
+                    <EventTarget target=trail />
                 </targets>
                 <events>
Index: /code/branches/core5/src/modules/objects/eventsystem/EventTarget.cc
===================================================================
--- /code/branches/core5/src/modules/objects/eventsystem/EventTarget.cc	(revision 5889)
+++ /code/branches/core5/src/modules/objects/eventsystem/EventTarget.cc	(revision 5890)
@@ -38,4 +38,6 @@
     {
         RegisterObject(EventTarget);
+
+        this->bActive_ = false;
     }
 
@@ -48,4 +50,6 @@
         SUPER(EventTarget, XMLPort, xmlelement, mode);
 
+        XMLPortParam(EventTarget, "target", setTargetName, getTargetName, xmlelement, mode);
+
         // since we need event sources mapped to any state, we have to parse XML by ourselves
         this->loadAllEventStates(xmlelement, mode, this, Class(EventTarget));
@@ -54,13 +58,21 @@
     void EventTarget::processEvent(Event& event)
     {
+        if (this->bActive_)
+        {
+            COUT(2) << "Warning: Detected Event loop in EventTarget \"" << this->getName() << "\"" << std::endl;
+            return;
+        }
+
+        this->bActive_ = true;
         this->fireEvent(event);
+        this->bActive_ = false;
     }
 
-    void EventTarget::changedName()
+    void EventTarget::setTargetName(const std::string& name)
     {
-        SUPER(EventTarget, changedName);
-
+        this->target_ = name;
+        
         for (ObjectList<BaseObject>::iterator it = ObjectList<BaseObject>::begin(); it != ObjectList<BaseObject>::end(); ++it)
-            if (it->getName() == this->getName())
+            if (it->getName() == this->target_)
                 this->addEventTarget(*it);
     }
@@ -68,8 +80,8 @@
     void EventTarget::loadedNewXMLName(BaseObject* object)
     {
-        if (this->getName() == "")
+        if (this->target_ == "")
             return;
 
-        if (object->getName() == this->getName())
+        if (object->getName() == this->target_)
             this->addEventTarget(object);
     }
Index: /code/branches/core5/src/modules/objects/eventsystem/EventTarget.h
===================================================================
--- /code/branches/core5/src/modules/objects/eventsystem/EventTarget.h	(revision 5889)
+++ /code/branches/core5/src/modules/objects/eventsystem/EventTarget.h	(revision 5890)
@@ -47,9 +47,14 @@
             virtual void processEvent(Event& event);
 
-            virtual void changedName();
+            void setTargetName(const std::string& name);
+            inline const std::string& getTargetName() const
+                { return this->target_; }
 
         private:
             virtual void loadedNewXMLName(BaseObject* object);
             void addEventTarget(BaseObject* object);
+            
+            std::string target_;
+            bool bActive_;
     };
 }
