         else 
           @currentFrame = 0
 
-      @baseMovieClip.gotoAndStop(@currentFrame)
-      movieClip.gotoAndStop(@currentFrame) for movieClip in @childMovieClips
-      @takeChildrenFromMovieClip()
+      @baseMovieClip.specialGoToAndStop(@currentFrame)
+      for movieClip in @childMovieClips
+        if movieClip.mode is 'single'
+          movieClip.specialGoToAndStop(movieClip.startPosition)
+        else
+          movieClip.specialGoToAndStop(@currentFrame)
+          
+      @takeChildrenFromMovieClip(@baseMovieClip, @)
       @loop = action.loops isnt false
       @goesTo = action.goesTo
       @notifyActionNeedsRender(action) if @actionNotSupported

SpriteBuilder = require 'lib/sprites/SpriteBuilder'

module.exports = class SegmentedSprite extends createjs.SpriteContainer
  childMovieClips: null


    anim = new createjs.MovieClip()
    anim.initialize(mode ? createjs.MovieClip.INDEPENDENT, startPosition ? 0, loops ? true)
    anim.specialGoToAndStop = specialGoToAndStop

    for tweenData in animData.tweens
      stopped = false
