diff --git a/provider_base/services/tor_hidden_service.json b/provider_base/services/tor_hidden_service.json
index 137932fa2577ed7911fad6e38f2828970428f3ac..d7f3ec27fe69cc117e48d9d5c2e679da345933b9 100644
--- a/provider_base/services/tor_hidden_service.json
+++ b/provider_base/services/tor_hidden_service.json
@@ -5,7 +5,8 @@
       "public_key": "= tor_public_key_path(:node_tor_pub_key, tor.hidden_service.key_type)",
       "private_key": "= tor_private_key_path(:node_tor_priv_key, tor.hidden_service.key_type)",
       "address": "=> onion_address(:node_tor_pub_key)",
-      "single_hop": false
+      "single_hop": false,
+      "v3": false
     }
   }
 }
diff --git a/puppet/modules/site_static/manifests/hidden_service.pp b/puppet/modules/site_static/manifests/hidden_service.pp
index f23727f7cfcc9d7bbe7c69f31f48a58cbd5128f3..c5d12c3463cca0b74690988d9eb4d9e111c35b12 100644
--- a/puppet/modules/site_static/manifests/hidden_service.pp
+++ b/puppet/modules/site_static/manifests/hidden_service.pp
@@ -1,11 +1,12 @@
 # create hidden service for static sites
-class site_static::hidden_service ( $single_hop = false ) {
+class site_static::hidden_service ( $single_hop = false, $v3 = false ) {
   Class['site_tor::hidden_service'] -> Class['site_static::hidden_service']
   include site_tor::hidden_service
 
   tor::daemon::hidden_service { 'static':
     ports      => [ '80 127.0.0.1:80'],
-    single_hop => $single_hop
+    single_hop => $single_hop,
+    v3         => $v3
   }
 
   file {
diff --git a/puppet/modules/site_static/manifests/init.pp b/puppet/modules/site_static/manifests/init.pp
index 40c6a28b6f9fe9ddda96470a3fe6fe2866442aab..fdc5782fb87baa4a78b897ae3368a2dc6ab370fa 100644
--- a/puppet/modules/site_static/manifests/init.pp
+++ b/puppet/modules/site_static/manifests/init.pp
@@ -60,10 +60,8 @@ class site_static {
   include site_config::ruby::dev
 
   if (member($formats, 'rack')) {
-    include site_apt::preferences::passenger
     class { 'passenger':
       manage_munin => false,
-      require      => Class['site_apt::preferences::passenger']
     }
   }
 
@@ -81,7 +79,8 @@ class site_static {
     $hidden_service = $tor['hidden_service']
     $onion_domain     = "${hidden_service['address']}.onion"
     class { 'site_static::hidden_service':
-      single_hop => $hidden_service['single_hop']
+      single_hop => $hidden_service['single_hop'],
+      v3         => $hidden_service['v3']
     }
 
     # Currently, we only support a single hidden service address per server.
diff --git a/puppet/modules/site_webapp/manifests/hidden_service.pp b/puppet/modules/site_webapp/manifests/hidden_service.pp
index 1f87da6b66ef8cfc60da3c9bda92a705f0531887..290f96653509a7fe686815154cb4e87e9d5f7735 100644
--- a/puppet/modules/site_webapp/manifests/hidden_service.pp
+++ b/puppet/modules/site_webapp/manifests/hidden_service.pp
@@ -14,7 +14,8 @@ class site_webapp::hidden_service {
 
   tor::daemon::hidden_service { 'webapp':
     ports      => [ '80 127.0.0.1:80'],
-    single_hop => $hidden_service['single_hop']
+    single_hop => $hidden_service['single_hop'],
+    v3         => $hidden_service['v3']
   }
 
   file {