diff --git a/include/player.h b/include/player.h
index c773054650e66019708fdb0e2236063babeb7cac..004857f922363b3f212091fe3f79363cd25d0a6e 100644
--- a/include/player.h
+++ b/include/player.h
@@ -74,7 +74,6 @@ public slots:
     void recStream();
     void pause();
     void togglePlayPause();
-    bool skipTo(int proMil);
     bool skipToFrame(int f);
     bool skipToFrame();
     void update();
@@ -105,7 +104,6 @@ private:
     bool mPlayerSpeedLimited;
     bool mPlayerSpeedFixed = false;
     bool mLooping = false;
-    bool mSliderSet;
     bool mRec;
 
 
diff --git a/src/player.cpp b/src/player.cpp
index 6d050777024151b64c7dd4f8578013e962719cec..d97c6badf2376b24f9e4fd50394bd54afc1d9d68 100644
--- a/src/player.cpp
+++ b/src/player.cpp
@@ -217,7 +217,6 @@ void Player::setAnim(Animation *anim)
     if (anim)
     {
         pause();
-        mSliderSet = false;
         mAnimation = anim;
         int max = anim->getNumFrames()>1 ? anim->getNumFrames()-1 : 0;
         setSliderMax(max);
@@ -270,11 +269,8 @@ bool Player::updateImage()
     time1 = time1/CLOCKS_PER_SEC;
     cout << "  time(update image) = " << time1 << " sec." << endl;
 #endif
-    // mSliderSet is needed because setValue will call skiptoframe because of connect slot
-    mSliderSet = true;
     mSlider->setValue(mAnimation->getCurrentFrameNum()); //(1000*mAnimation->getCurrentFrameNum())/mAnimation->getNumFrames());
     mFrameNum->setText(QString().number(mAnimation->getCurrentFrameNum()));
-    mSliderSet = false; // reset setSlider here because if value doesnt change than it would not be reset by skiptoframe
 
     return true;
 }
@@ -533,20 +529,9 @@ void Player::recStream()
     }
 }
 
-bool Player::skipTo(int proMil) // proMil = [0..1000]
-{
-    if (mSliderSet)
-    {
-        return false;
-    }
-    pause();
-    mImg = mAnimation->getFrameAtPos(proMil/1000.0); // value between 0..1
-    return updateImage();
-}
-
 bool Player::skipToFrame(int f) // [0..mAnimation->getNumFrames()-1]
 {
-    if (mSliderSet)
+    if (f == mAnimation->getCurrentFrameNum())
     {
         return false;
     }
diff --git a/src/tracker.cpp b/src/tracker.cpp
index a26253d4293caa9803b584b59c32cda446b22020..4ff07dd1924bfc102079cd1112802b189d31ff00 100644
--- a/src/tracker.cpp
+++ b/src/tracker.cpp
@@ -1426,6 +1426,12 @@ int Tracker::track(cv::Mat &img, cv::Rect &rect, int frame, bool reTrack, int re
     if ((mPrevFrame != -1) && (abs(frame - mPrevFrame) > MAX_STEP_TRACK))
         reset();
 
+    if (abs(frame - mPrevFrame) == 0)
+    {
+        debout << "ERROR: Frame has not changed. There is nothing to track!" << std::endl;
+        return -1;
+    }
+
     if (img.channels() == 3)
     {
         cv::cvtColor(img,mGrey,cv::COLOR_BGR2GRAY);