diff --git a/Essentials/src/main/java/com/earth2me/essentials/AlternativeCommandsHandler.java b/Essentials/src/main/java/com/earth2me/essentials/AlternativeCommandsHandler.java index 01f7fa3caf0..34319041020 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/AlternativeCommandsHandler.java +++ b/Essentials/src/main/java/com/earth2me/essentials/AlternativeCommandsHandler.java @@ -116,6 +116,8 @@ public Command getAlternative(final String label) { } // return the first command that is not an alias + Command firstAlias = null; + final Iterator> iterator = commands.iterator(); while (iterator.hasNext()) { final Command cmd = iterator.next().get(); @@ -127,10 +129,14 @@ public Command getAlternative(final String label) { if (cmd.getName().equalsIgnoreCase(label)) { return cmd; } + + if (firstAlias == null) { + firstAlias = cmd; + } } - // return the first alias - return commands.get(0).get(); + // return the first alias, or null if every reference in this bucket has been collected + return firstAlias; } public void executed(final String label, final Command pc) {