diff --git a/terraform/modules/hcloud_instance/network.tf b/terraform/modules/hcloud_instance/network.tf
index b21ddea3dd177a101a6dd683c8a7c4b7d1ab1eeb..8d4e0a53ef81d74efdc3237d96ed2bdd04a0a3ed 100644
--- a/terraform/modules/hcloud_instance/network.tf
+++ b/terraform/modules/hcloud_instance/network.tf
@@ -1,5 +1,5 @@
 resource "hcloud_server_network" "server_network" {
   server_id = element(hcloud_server.server.*.id, count.index)
   subnet_id = var.subnet
-  count = length(hcloud_server.server.*.id)
+  count = var.subnet != null ? length(hcloud_server.server.*.id) : 0
 }
diff --git a/terraform/modules/hcloud_instance/variables.tf b/terraform/modules/hcloud_instance/variables.tf
index 325bf7333667b8e80722a4c2ed16200cd159a248..9e6cf71301722e7a1bcb8256465350e7a3e6b685 100644
--- a/terraform/modules/hcloud_instance/variables.tf
+++ b/terraform/modules/hcloud_instance/variables.tf
@@ -92,4 +92,5 @@ variable "volume_size" {
 variable "subnet" {
   type        = string
   description = "Id of the additional internal network"
+  default     = null
 }