diff --git a/share/uiproject.fbp b/share/uiproject.fbp
index d5e6b1e36..7d2c25841 100644
--- a/share/uiproject.fbp
+++ b/share/uiproject.fbp
@@ -2090,7 +2090,7 @@
0
wxID_ANY
- &Connect through socks4 proxy:
+ &Connect through socks4 proxy (requires restart to apply):
m_checkBoxUseProxy
diff --git a/src/init.cpp b/src/init.cpp
index 266c99202..acfcc44d1 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -247,7 +247,8 @@ bool AppInit2(int argc, char* argv[])
fPrintToDebugger = GetBoolArg("-printtodebugger");
fTestNet = GetBoolArg("-testnet");
- fNoListen = GetBoolArg("-nolisten");
+ bool fTOR = (fUseProxy && addrProxy.port == htons(9050));
+ fNoListen = GetBoolArg("-nolisten") || fTOR;
fLogTimestamps = GetBoolArg("-logtimestamps");
for (int i = 1; i < argc; i++)
diff --git a/src/uibase.cpp b/src/uibase.cpp
index 18eec4413..6d219ad66 100644
--- a/src/uibase.cpp
+++ b/src/uibase.cpp
@@ -367,7 +367,7 @@ COptionsDialogBase::COptionsDialogBase( wxWindow* parent, wxWindowID id, const w
wxBoxSizer* bSizer102;
bSizer102 = new wxBoxSizer( wxHORIZONTAL );
- m_checkBoxUseProxy = new wxCheckBox( m_panelMain, wxID_ANY, _("&Connect through socks4 proxy: "), wxDefaultPosition, wxDefaultSize, 0 );
+ m_checkBoxUseProxy = new wxCheckBox( m_panelMain, wxID_ANY, _("&Connect through socks4 proxy (requires restart to apply): "), wxDefaultPosition, wxDefaultSize, 0 );
bSizer102->Add( m_checkBoxUseProxy, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
bSizer69->Add( bSizer102, 1, wxEXPAND, 5 );