             pulse.backgroundColor = backgroundColor
             let oldAlpha = alpha
             alpha = CGColorGetAlpha(backgroundColor)
-            if animationGroup != nil && alpha != oldAlpha {
+            if alpha != oldAlpha {
                 recreate()
             }
         }

    /// The value of this property should be ranging from @c 0 to @c 1 (exclusive).
    public var keyTimeForHalfOpacity: Float = 0.2 {
        didSet {
            if animationGroup != nil {
                recreate()
            }
        }
    }
    

    // MARK: - Internal Methods
    
    internal func recreate() {
        guard animationGroup != nil else { return }        // Not need to be recreated.
        stop()
        let when = dispatch_time(DISPATCH_TIME_NOW, Int64(0.2 * double_t(NSEC_PER_SEC)))
        dispatch_after(when, dispatch_get_main_queue()) { () -> Void in
