diff --git a/config.go b/config.go
index 01cf6d5f38a65b673424858459ceba4eeb921e45..d751a7ba6e80d43b9e815fdc8ebb0db2bfb5064c 100644
--- a/config.go
+++ b/config.go
@@ -17,6 +17,7 @@ package main
 
 import (
 	"encoding/json"
+	"flag"
 	"os"
 	"path"
 	"time"
@@ -36,6 +37,7 @@ var (
 type systrayConfig struct {
 	LastNotification time.Time
 	Donated          time.Time
+	SelectWateway    bool
 }
 
 func parseConfig() (*systrayConfig, error) {
@@ -52,9 +54,15 @@ func parseConfig() (*systrayConfig, error) {
 
 	dec := json.NewDecoder(f)
 	err = dec.Decode(&conf)
+	conf.parseFlags()
 	return &conf, err
 }
 
+func (c *systrayConfig) parseFlags() {
+	flag.BoolVar(&c.SelectWateway, "select-gateway", false, "Enable gateway selection")
+	flag.Parse()
+}
+
 func (c *systrayConfig) hasDonated() bool {
 	return c.Donated.Add(oneMonth).After(time.Now())
 }
diff --git a/systray.go b/systray.go
index 0d37e03772faba04c4d087e136df41946d1b35c4..bc1cab79ab157854eaaa6e59a7332750d3566665 100644
--- a/systray.go
+++ b/systray.go
@@ -65,6 +65,10 @@ func (bt *bmTray) onReady() {
 	go bt.mCancel.Hide()
 	systray.AddSeparator()
 
+	if bt.conf.SelectWateway {
+		bt.addGateways()
+	}
+
 	mHelp := systray.AddMenuItem("Help ...", "")
 	bt.mDonate = systray.AddMenuItem("Donate ...", "")
 	bt.mHaveDonated = systray.AddMenuItem("... I have donated", "")