     private func renderInContext(ctx: CGContext!) {
         let layers = prepareLayer()
         
-        superview?.layer.renderInContext(ctx)
+        if fullScreenCapture && dynamicMode == .None {
+            if let superview = superview {
+                UIView.setAnimationsEnabled(false)
+                superview.drawViewHierarchyInRect(superview.bounds, afterScreenUpdates: true)
+                UIView.setAnimationsEnabled(true)
+            }
+        } else {
+            superview?.layer.renderInContext(ctx)
+        }
         
         if let layers = layers {
             restoreLayer(layers)

    /// Default is 3.
    public var iterations: Int = 3
    
    public override class func layerClass() -> AnyClass {
        return BlurLayer.self
    }

    public override func actionForLayer(layer: CALayer!, forKey event: String!) -> CAAction! {
        if event == "blurRadius" {
            fromBlurRadius = nil
            staticImage = nil
            
            if let action = super.actionForLayer(layer, forKey: "backgroundColor") as? CAAnimation {
                fromBlurRadius = blurPresentationLayer.blurRadius
                
                if dynamicMode == .None {
                    staticImage = capturedImage()
                }
                
                let animation = CABasicAnimation()
                animation.fromValue = fromBlurRadius
