         return BulletinDismissAnimationController()
     }
 
-    func interactionControllerForDismissal(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning? {
-        return swipeInteractionController.isInteractionInProgress ? swipeInteractionController : nil
+    func interactionControllerForDismissal(using animator: UIViewControllerAnimatedTransitioning)
+        -> UIViewControllerInteractiveTransitioning? {
+
+            let isEligible = swipeInteractionController.isInteractionInProgress &&
+                traitCollection.horizontalSizeClass == .compact
+
+            return isEligible ? swipeInteractionController : nil
+
     }
 
     /// Creates a new view swipe interaction controller and wires it to the content view.

            }
            self.minYConstraint.isActive = false
            self.contentBottomConstraint.constant = bottomSpacing
            self.contentView.superview?.layoutIfNeeded()
        }, completion: nil)
    }

    fileprivate let bottomSafeAreaCoverView = UIVisualEffectView()
    fileprivate var swipeInteractionController: BulletinSwipeInteractionController!

    // Compact constraints
    private var leadingConstraint: NSLayoutConstraint!
    private var trailingConstraint: NSLayoutConstraint!
    private var centerXConstraint: NSLayoutConstraint!

    // Regular constraints
    private var widthConstraint: NSLayoutConstraint!
    fileprivate var centerYConstraint: NSLayoutConstraint!

    // Stack view constraints
    private var stackLeadingConstraint: NSLayoutConstraint!
    private var stackTrailingConstraint: NSLayoutConstraint!
    private var stackBottomConstraint: NSLayoutConstraint!

    // Position constraints
    fileprivate var minYConstraint: NSLayoutConstraint!
    private var contentTopConstraint: NSLayoutConstraint!
    fileprivate var contentBottomConstraint: NSLayoutConstraint!


