Sprite-kit: Movendo um elemento no caminho circular

Estou tentando fazer um elemento se mover pela borda do cercle.

Eu criei e posicionei um cercle no meio da tela:
var base = SKShapeNode(circleOfRadius: 200 ) // Size of Circle
base.position = CGPointMake(frame.midX, frame.midY)  
base.strokeColor = SKColor.blackColor()
base.glowWidth = 1.0
base.fillColor = UIColor(hue:1, saturation:0.76, brightness:0.94, alpha:1)
base.zPosition = 0
self.addChild(base)
Então eu criei outro sprite e adicionei uma ação:
main = SKSpriteNode(imageNamed:"Spaceship")
main.xScale = 0.15
main.yScale = 0.15
main.zPosition = 1
let circle = UIBezierPath(roundedRect: CGRectMake((self.frame.width/2) - 200, CGRectGetMidY(self.frame) - 200,400, 400), cornerRadius: 200)
let circularMove = SKAction.followPath(circle.CGPath, duration: 5.0)
main.runAction(SKAction.repeatAction(circularMove,count: 2))
self.addChild(main)

A primeira rotação (veja a imagem abaixo) da nave espacial segue exatamente as bordas do círculo, mas a segunda iteração altera a posição da nave espacial e a move para fora dos limites da tela. Isso é normal ou estou fazendo algo errado?

Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion