Index: /orxonox/trunk/src/simple_animation.cc
===================================================================
--- /orxonox/trunk/src/simple_animation.cc	(revision 3743)
+++ /orxonox/trunk/src/simple_animation.cc	(revision 3744)
@@ -240,5 +240,13 @@
     }
   
-  this->localTime = 0;
+  if( this->workingAnimator == NULL)
+    {
+      PRINTF(1)("You have no target selected to start: either do this with start(target) or by prev selecting it\n");
+      return;
+    }
+  this->workingAnimator->localTime = 0.0;
+  this->workingAnimator->bRunning = true;
+  this->workingAnimator->currentFrame = this->workingAnimator->frames->firstElement();
+  this->workingAnimator->lastFrame = this->workingAnimator->frames->nextElement(this->workingAnimator->currentFrame);
 
   /*
@@ -253,6 +261,4 @@
     }
   */
-
-  this->bRunning = true;
 }
 
@@ -299,5 +305,4 @@
 void SimpleAnimation::tick(float time)
 {
-  this->localTime += time;
   tIterator<Animation>* iterator = this->animators->getIterator();
   Animation* anim = iterator->nextElement();
@@ -306,10 +311,11 @@
       if( anim->bRunning)
 	{ 
-	  
+	  anim->localTime += time;
 	  /* first get the current frame via time-stamps */ 
-	  while( this->localTime > anim->currentFrame->time)
+	  while( anim->localTime > anim->currentFrame->time)
 	    {
 	      printf("SimpleAnimation::tick(...) - changing Frame\n");
 	      
+	      anim->localTime -= anim->currentFrame->time;
 	      //this->currentFrame->object->setRelCoor(*this->currentFrame->position);
 	      *anim->lastPosition = *anim->currentFrame->position;
@@ -331,5 +337,5 @@
 	      
 	      *anim->tmpVect = *anim->currentFrame->position - *anim->lastFrame->position;
-	      *anim->tmpVect = *anim->tmpVect * this->localTime / anim->currentFrame->time;
+	      *anim->tmpVect = *anim->tmpVect * anim->localTime / anim->currentFrame->time;
 	      anim->currentFrame->object->setRelCoor(*anim->lastFrame->position + *anim->tmpVect);
 	      *anim->lastPosition = *anim->tmpVect;
@@ -340,5 +346,5 @@
 	    case NEG_EXP:
 	      *anim->tmpVect = *anim->currentFrame->position - *anim->lastFrame->position;
-	      *anim->tmpVect = *anim->tmpVect * (1 - exp(- this->localTime * anim->deltaT));     
+	      *anim->tmpVect = *anim->tmpVect * (1 - exp(- anim->localTime * anim->deltaT));     
 	      anim->currentFrame->object->setRelCoor(*anim->lastFrame->position + *anim->tmpVect);
 	      *anim->lastPosition = *anim->tmpVect;
@@ -346,5 +352,5 @@
 	    case SIN:
 	      *anim->tmpVect = *anim->currentFrame->position - *anim->lastFrame->position;
-	      *anim->tmpVect = *anim->tmpVect * 0.5*(1 - cos(M_PI * this->localTime / anim->currentFrame->time));     
+	      *anim->tmpVect = *anim->tmpVect * 0.5*(1 - cos(M_PI * anim->localTime / anim->currentFrame->time));     
 	      anim->currentFrame->object->setRelCoor(*anim->lastFrame->position + *anim->tmpVect);
 	      *anim->lastPosition = *anim->tmpVect;
@@ -355,5 +361,5 @@
 	    case QUADRATIC:
 	      *anim->tmpVect = *anim->currentFrame->position - *anim->lastFrame->position;
-	      *anim->tmpVect = *anim->tmpVect * 1/3 * ldexpf(this->localTime, 3);
+	      *anim->tmpVect = *anim->tmpVect * 1/3 * ldexpf(anim->localTime, 3);
 	      break;
 	    default:
Index: /orxonox/trunk/src/simple_animation.h
===================================================================
--- /orxonox/trunk/src/simple_animation.h	(revision 3743)
+++ /orxonox/trunk/src/simple_animation.h	(revision 3744)
@@ -52,4 +52,5 @@
   bool bRunning;
   float deltaT;
+  float localTime;
 };
 
Index: /orxonox/trunk/src/story_entities/world.cc
===================================================================
--- /orxonox/trunk/src/story_entities/world.cc	(revision 3743)
+++ /orxonox/trunk/src/story_entities/world.cc	(revision 3744)
@@ -495,9 +495,9 @@
 	    this->simpleAnimation->addKeyFrame(f1);
 	    this->simpleAnimation->addKeyFrame(f2);
+	    this->simpleAnimation->start();
 	    //this->simpleAnimation->addKeyFrame(f3);
 	    //this->simpleAnimation->addKeyFrame(f2);
 	    this->simpleAnimation->animatorEnd();
 
-	    this->simpleAnimation->start();
 
 	    /*
