diff --git a/mplayer.c b/mplayer.c
index 2f56a063ff..13496026ed 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -4351,6 +4351,11 @@ if(time_frame>0.001 && !(vo_flags&256)){
 
         current_module="flip_page";
         if (!frame_time_remaining) {
+
+         // FIXME: add size based support for -endpos
+         if ( end_at.type == END_AT_TIME && end_at.pos < sh_video->pts )
+              eof = PT_NEXT_ENTRY;
+
          if(blit_frame){
 	   unsigned int t2=GetTimer();
 	   double tt;
@@ -4365,10 +4370,6 @@ if(time_frame>0.001 && !(vo_flags&256)){
 		too_slow_frame_cnt++;
 		/* printf ("PANIC: too slow frame (%.3f)!\n", j); */
 
-           // FIXME: add size based support for -endpos
-           if ( end_at.type == END_AT_TIME && end_at.pos < sh_video->pts )
-                eof = PT_NEXT_ENTRY;
-
 	   if(vo_config_count) video_out->flip_page();
 	   if (play_n_frames >= 0) {
 	     --play_n_frames;