diff --git a/app/lib/surface/Surface.coffee b/app/lib/surface/Surface.coffee
index 878f92995..1dcc5aad8 100644
--- a/app/lib/surface/Surface.coffee
+++ b/app/lib/surface/Surface.coffee
@@ -336,7 +336,7 @@ module.exports = Surface = class Surface extends CocoClass
 
     @lastFrame = @currentFrame
 
-  getProgress: -> @currentFrame / @world.frames.length
+  getProgress: -> @currentFrame / Math.max(1, @world.frames.length - 1)
 
 
 
diff --git a/app/views/play/level/LevelPlaybackView.coffee b/app/views/play/level/LevelPlaybackView.coffee
index 6949fce6e..ca2312515 100644
--- a/app/views/play/level/LevelPlaybackView.coffee
+++ b/app/views/play/level/LevelPlaybackView.coffee
@@ -262,10 +262,7 @@ module.exports = class LevelPlaybackView extends CocoView
   onFrameChanged: (e) ->
     if e.progress isnt @lastProgress
       @currentTime = e.frame / e.world.frameRate
-      # Game will sometimes stop at 29.97, but with only one digit, this is unnecesary.
-      # @currentTime = @totalTime if Math.abs(@totalTime - @currentTime) < 0.04
       @updatePopupContent() if @timePopup?.shown
-
       @updateProgress(e.progress, e.world)
       @updatePlayButton(e.progress)
     @lastProgress = e.progress