         sublabel.layer.beginTime = sublabel.layer.convertTime(CACurrentMediaTime(), fromLayer:nil) - labelPausedTime
         
         // Unpause gradient fade animation
-        let gradientPauseTime = layer.mask?.timeOffset
-        layer.mask?.speed = 1.0
-        layer.mask?.timeOffset = 0.0
-        layer.mask?.beginTime = 0.0
-        layer.mask?.beginTime = layer.mask!.convertTime(CACurrentMediaTime(), fromLayer:nil) - gradientPauseTime!
+        let gradientPauseTime = maskLayer?.timeOffset
+        maskLayer?.speed = 1.0
+        maskLayer?.timeOffset = 0.0
+        maskLayer?.beginTime = 0.0
+        maskLayer?.beginTime = maskLayer!.convertTime(CACurrentMediaTime(), fromLayer:nil) - gradientPauseTime!
     }
     
     public func labelWasTapped(recognizer: UIGestureRecognizer) {

        CATransaction.setDisableActions(true)
        
        let gradientMask: CAGradientLayer = { () -> CAGradientLayer in
            if let currentMask = self.layer.mask as? CAGradientLayer {
                // Mask layer already configured
                return currentMask
            } else {

        sublabel.layer.timeOffset = labelPauseTime
        
        // Pause gradient fade animation
        let gradientPauseTime = maskLayer?.convertTime(CACurrentMediaTime(), fromLayer:nil)
        maskLayer?.speed = 0.0
        maskLayer?.timeOffset = gradientPauseTime!
    }
    
    /**
