diff --git a/src/main/java/fucoin/Main.java b/src/main/java/fucoin/Main.java
index c715d6ffd66799df36f686e6607c96a3c2ec9a43..be9fc41d7d9b74b361d0861465c0037b736384c2 100644
--- a/src/main/java/fucoin/Main.java
+++ b/src/main/java/fucoin/Main.java
@@ -18,6 +18,7 @@ import java.util.List;
 public class Main {
 
     private static int numberOfWallets = 2;
+    private static boolean createGUI = false;
 
     private static ActorSystem cSystem;
 
@@ -56,9 +57,9 @@ public class Main {
 
             if (i > 0) {
                 //chain the wallets. wallet2 knows wallet1, wallet3 knows wallet2 and so on.
-                props = WalletImpl.props(cActiveActors.get(i - 1), nameOfTheWallet);
+                props = WalletImpl.props(cActiveActors.get(i - 1), nameOfTheWallet, createGUI);
             } else {
-                props = WalletImpl.props(null, nameOfTheWallet);
+                props = WalletImpl.props(null, nameOfTheWallet, createGUI);
             }
 
             ActorRef actorRef = cSystem.actorOf(props, nameOfTheWallet);
diff --git a/src/main/java/fucoin/MainRemote.java b/src/main/java/fucoin/MainRemote.java
index 67c8520b0547a598a0cdc321c450324e1efca881..dd1c1aa035f0973020f833c1088657c53294bd9a 100644
--- a/src/main/java/fucoin/MainRemote.java
+++ b/src/main/java/fucoin/MainRemote.java
@@ -91,7 +91,7 @@ public class MainRemote {
         }
 
         // spawn wallet
-        system.actorOf(WalletImpl.props(preknownNeighbour, walletName), walletName);
+        system.actorOf(WalletImpl.props(preknownNeighbour, walletName, true), walletName);
 
     }
 }
diff --git a/src/main/java/fucoin/wallet/WalletCreator.java b/src/main/java/fucoin/wallet/WalletCreator.java
index 2a512b9f797529e1a24a0508fe91194fb3431226..f8f6e4d425a39db9cb25b9ff3cd9bac7327b3616 100644
--- a/src/main/java/fucoin/wallet/WalletCreator.java
+++ b/src/main/java/fucoin/wallet/WalletCreator.java
@@ -7,18 +7,24 @@ import fucoin.gui.WalletGuiControlImpl;
 public class WalletCreator implements Creator<AbstractWallet> {
     private ActorRef preKnownNeighbour;
     private String walletName;
+    private boolean createGUI;
 
-    public WalletCreator(ActorRef preKnownNeighbour, String walletName) {
+    public WalletCreator(ActorRef preKnownNeighbour, String walletName, boolean createGUI) {
         this.preKnownNeighbour = preKnownNeighbour;
         this.walletName = walletName;
+        this.createGUI = createGUI;
     }
 
     @Override
     public WalletImpl create() throws Exception {
+
         WalletImpl wallet = new WalletImpl(preKnownNeighbour, walletName);
 
-        WalletGuiControlImpl gui = new WalletGuiControlImpl(wallet);
-        wallet.setGui(gui);
+        if (createGUI) {
+            WalletGuiControlImpl gui = new WalletGuiControlImpl(wallet);
+            wallet.setGui(gui);
+        }
+
         return wallet;
     }
 }
diff --git a/src/main/java/fucoin/wallet/WalletImpl.java b/src/main/java/fucoin/wallet/WalletImpl.java
index 4a46881a00a91a438392d84a0ea2b6228e0f2edf..e2cdbefb30737491a3b23331777843ac55642892 100644
--- a/src/main/java/fucoin/wallet/WalletImpl.java
+++ b/src/main/java/fucoin/wallet/WalletImpl.java
@@ -32,8 +32,8 @@ public class WalletImpl extends AbstractWallet {
         }
     }
 
-    public static Props props(ActorRef preKnownNeighbour, String walletName) {
-        return Props.create(new WalletCreator(preKnownNeighbour, walletName));
+    public static Props props(ActorRef preKnownNeighbour, String walletName, boolean createGUI) {
+        return Props.create(new WalletCreator(preKnownNeighbour, walletName, createGUI));
     }
 
     /**