diff --git a/src/stats.c b/src/stats.c
index 8faed89..6189cb3 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -166,6 +166,9 @@
 	struct sockaddr_in *sock_addr = (struct sockaddr_in *)&srep->dest_addr;
 	struct in_addr inaddr;
 
+	if (!srep->have_net_config)
+		return -ENOTSUP;
+
 	OSMO_ASSERT(addr != NULL);
 
 	rc = inet_pton(AF_INET, addr, &inaddr);
@@ -186,6 +189,9 @@
 {
 	struct sockaddr_in *sock_addr = (struct sockaddr_in *)&srep->dest_addr;
 
+	if (!srep->have_net_config)
+		return -ENOTSUP;
+
 	srep->dest_port = port;
 	sock_addr->sin_port = htons(port);
 
@@ -198,6 +204,9 @@
 	struct sockaddr_in *sock_addr = (struct sockaddr_in *)&srep->bind_addr;
 	struct in_addr inaddr;
 
+	if (!srep->have_net_config)
+		return -ENOTSUP;
+
 	if (addr) {
 		rc = inet_pton(AF_INET, addr, &inaddr);
 		if (rc <= 0)
@@ -218,6 +227,9 @@
 
 int stats_reporter_set_mtu(struct stats_reporter *srep, int mtu)
 {
+	if (!srep->have_net_config)
+		return -ENOTSUP;
+
 	if (mtu < 0)
 		return -EINVAL;
 
@@ -296,6 +308,8 @@
 	struct stats_reporter *srep;
 	srep = stats_reporter_alloc(STATS_REPORTER_STATSD, name);
 
+	srep->have_net_config = 1;
+
 	return srep;
 }
 
diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c
index 0911fbb..18ad283 100644
--- a/src/vty/stats_vty.c
+++ b/src/vty/stats_vty.c
@@ -281,18 +281,21 @@
 
 	vty_out(vty, "  disable%s", VTY_NEWLINE);
 
-	if (srep->dest_addr_str)
-		vty_out(vty, "  remote-ip %s%s",
-			srep->dest_addr_str, VTY_NEWLINE);
-	if (srep->dest_port)
-		vty_out(vty, "  remote-port %d%s",
-			srep->dest_port, VTY_NEWLINE);
-	if (srep->bind_addr_str)
-		vty_out(vty, "  local-ip %s%s",
-			srep->bind_addr_str, VTY_NEWLINE);
-	if (srep->mtu)
-		vty_out(vty, "  mtu %d%s",
-			srep->mtu, VTY_NEWLINE);
+	if (srep->have_net_config) {
+		if (srep->dest_addr_str)
+			vty_out(vty, "  remote-ip %s%s",
+				srep->dest_addr_str, VTY_NEWLINE);
+		if (srep->dest_port)
+			vty_out(vty, "  remote-port %d%s",
+				srep->dest_port, VTY_NEWLINE);
+		if (srep->bind_addr_str)
+			vty_out(vty, "  local-ip %s%s",
+				srep->bind_addr_str, VTY_NEWLINE);
+		if (srep->mtu)
+			vty_out(vty, "  mtu %d%s",
+				srep->mtu, VTY_NEWLINE);
+	}
+
 	if (srep->name_prefix && *srep->name_prefix)
 		vty_out(vty, "  prefix %s%s",
 			srep->name_prefix, VTY_NEWLINE);
