         if let previousBounds = previousBounds, previousBounds.equalTo(bounds) {
             return
         }
+        
+        // Update frames of layers
+        for circleLayer in circleLayers {
+            circleLayer.transform = CATransform3DIdentity
+            circleLayer.frame = bounds
+        }
 
         updateStatus()
         previousBounds = bounds

import Cocoa

open class LoadingIndicatorLayer: CALayer {
    public enum Status {
        case idle
        case hover

            break
        case .loading:
            for (i, circleLayer) in circleLayers.enumerated() {
                circleLayer.opacity = indicatorOpacity
                circleLayer.strokeStart = 0
                circleLayer.strokeEnd = LoadingIndicatorLayer.ArcLength
                circleLayer.path = arcPath(for: i)

                let rotatingAnimation = CAKeyframeAnimation(keyPath: "transform")
                let maxAngle: CGFloat = i % 2 == 0 ? -6.28 : 6.28
