diff --git a/game/src/main/org/apollo/game/model/inter/InterfaceSet.java b/game/src/main/org/apollo/game/model/inter/InterfaceSet.java
index 108443bf..953bff64 100644
--- a/game/src/main/org/apollo/game/model/inter/InterfaceSet.java
+++ b/game/src/main/org/apollo/game/model/inter/InterfaceSet.java
@@ -24,7 +24,8 @@ import org.apollo.game.model.inv.InventoryListener;
* This class manages all six distinct types of interface (the last two are not present on 317 servers).
*
*
- * - Windows: Interfaces such as the bank, the wilderness warning screen, the trade screen, etc.
+ * - Windows: Interfaces such as the bank, the wilderness warning screen, the trade screen,
+ * etc.
* - Overlays: Displayed in the same place as windows, but don't prevent a player from moving e.g.
* the wilderness level indicator.
* - Dialogues: Interfaces displayed over the chat box.
@@ -38,6 +39,16 @@ import org.apollo.game.model.inv.InventoryListener;
*/
public final class InterfaceSet {
+ /**
+ * A map of open interfaces.
+ */
+ private final Map interfaces = new HashMap<>();
+
+ /**
+ * The player whose interfaces are being managed.
+ */
+ private final Player player;
+
/**
* The current enter amount listener.
*/
@@ -48,21 +59,11 @@ public final class InterfaceSet {
*/
private Optional dialogueListener = Optional.empty();
- /**
- * A map of open interfaces.
- */
- private final Map interfaces = new HashMap<>();
-
/**
* The current listener.
*/
private Optional listener = Optional.empty();
- /**
- * The player whose interfaces are being managed.
- */
- private final Player player;
-
/**
* Creates an interface set.
*
@@ -86,10 +87,13 @@ public final class InterfaceSet {
* Closes the current open interface(s).
*/
public void close() {
- CloseInterfacesEvent event = new CloseInterfacesEvent(player);
- if (player.getWorld().submit(event)) {
- closeAndNotify();
- player.send(new CloseInterfaceMessage());
+ if (interfaces.size() != 0) {
+ CloseInterfacesEvent event = new CloseInterfacesEvent(player);
+
+ if (player.getWorld().submit(event)) {
+ closeAndNotify();
+ player.send(new CloseInterfaceMessage());
+ }
}
}