diff --git a/Config.cpp b/Config.cpp
index 27f0fe1d..28cb5223 100644
--- a/Config.cpp
+++ b/Config.cpp
@@ -126,6 +126,11 @@ namespace config {
       ("i2pcontrol.key",      value<std::string>()->default_value("i2pcontrol.key.pem"),  "I2PCP connection cerificate key")
       ;
 
+  options_description upnp("UPnP options");
+  upnp.add_options()
+    ("upnp.enabled",  value<bool>()->default_value(false),             "Enable or disable UPnP: automatic port forwarding")
+    ;
+
 	options_description precomputation("Precomputation options");
 	precomputation.add_options()  
 	  ("precomputation.elgamal",  
@@ -153,6 +158,7 @@ namespace config {
       .add(bob)
 	  .add(i2cp)	
       .add(i2pcontrol)
+      .add(upnp)
 	  .add(precomputation)
       .add(trust)
       ;
diff --git a/docs/configuration.md b/docs/configuration.md
index 67061ccd..9a0f0197 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -68,6 +68,8 @@ All options below still possible in cmdline, but better write it in config file:
 * --i2pcontrol.port=    - Port of I2P control service. Usually 7650. I2PControl is off if not specified
 * --i2pcontrol.enabled= - If I2P control is enabled. false by default   
 
+* --upnp.enabled=       - Enable or disable UPnP, false by default
+
 * --precomputation.elgamal=  - Use ElGamal precomputated tables. false for x64 and true for other platforms by default  
 
 * --limits.transittunnels=  - Override maximum number of transit tunnels. 2500 by default