diff --git a/src/main/java/forge/control/input/InputControl.java b/src/main/java/forge/control/input/InputControl.java
index b4b48c19020..0e67e24e4cc 100644
--- a/src/main/java/forge/control/input/InputControl.java
+++ b/src/main/java/forge/control/input/InputControl.java
@@ -17,7 +17,8 @@
*/
package forge.control.input;
-import java.util.Stack;
+import java.util.concurrent.BlockingDeque;
+import java.util.concurrent.LinkedBlockingDeque;
import forge.Singletons;
import forge.game.GameAge;
@@ -44,7 +45,7 @@ public class InputControl extends MyObservable implements java.io.Serializable {
/** Constant serialVersionUID=3955194449319994301L. */
private static final long serialVersionUID = 3955194449319994301L;
- private final Stack inputStack = new Stack();
+ private final BlockingDeque inputStack = new LinkedBlockingDeque();
private final MatchController match;
public InputControl(MatchController matchController) {
@@ -133,9 +134,9 @@ public class InputControl extends MyObservable implements java.io.Serializable {
if ( age != GameAge.Play )
return inputLock;
- if (!this.inputStack.isEmpty()) { // incoming input to Control
- return this.inputStack.peek();
- }
+ Input topMost = inputStack.peek(); // incoming input to Control
+ if (topMost != null )
+ return topMost;
final PhaseHandler handler = game.getPhaseHandler();
final PhaseType phase = handler.getPhase();