From d8a4ddf04a0d54409cc414a059c48a117bcee420 Mon Sep 17 00:00:00 2001
From: jeffwadsworth <jeff@delmarus.com>
Date: Thu, 5 Dec 2019 09:24:56 -0600
Subject: [PATCH] - Fixed #5989

---
 .../src/mage/cards/x/XantchaSleeperAgent.java  | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/Mage.Sets/src/mage/cards/x/XantchaSleeperAgent.java b/Mage.Sets/src/mage/cards/x/XantchaSleeperAgent.java
index d0a35959e7..f16a7f447a 100644
--- a/Mage.Sets/src/mage/cards/x/XantchaSleeperAgent.java
+++ b/Mage.Sets/src/mage/cards/x/XantchaSleeperAgent.java
@@ -28,11 +28,9 @@ import java.util.UUID;
 
 import static mage.constants.Outcome.Benefit;
 
-
 /**
  * @author jesusjbr
  */
-
 public final class XantchaSleeperAgent extends CardImpl {
 
     public XantchaSleeperAgent(UUID ownerId, CardSetInfo setInfo) {
@@ -145,14 +143,18 @@ class XantchaSleeperAgentAttackRestrictionEffect extends RestrictionEffect {
         boolean allowAttack = true;
         UUID ownerPlayerId = source.getSourcePermanentIfItStillExists(game).getOwnerId();
 
-        if (defenderId.equals(ownerPlayerId)) {
+        if (defenderId.equals(ownerPlayerId)
+                && game.getPlayers().size() == 2) { // if only 2 players are left, it can't attack at all.
             allowAttack = false;
-        } else {
-            Permanent planeswalker = game.getPermanent(defenderId);
-            if (planeswalker != null && planeswalker.isControlledBy(ownerPlayerId)) {
-                allowAttack = false;
-            }
         }
+        if (defenderId.equals(ownerPlayerId)) { // can't attack owner
+            allowAttack = false;
+        }
+        Permanent planeswalker = game.getPermanent(defenderId);
+        if (planeswalker != null && planeswalker.isControlledBy(ownerPlayerId)) {  // can't attack the owner's planeswalkers
+            allowAttack = false;
+        }
+
         return allowAttack;
     }
 }