diff --git a/sys/net/vnet.h b/sys/net/vnet.h
index b02160854652..935461037403 100644
--- a/sys/net/vnet.h
+++ b/sys/net/vnet.h
@@ -56,6 +56,9 @@ struct vnet_net {
 	int	_ether_ipfw;
 };
 
+/* Size guard. See sys/vimage.h. */
+VIMAGE_CTASSERT(SIZEOF_vnet_net, sizeof(struct vnet_net));
+
 #ifndef VIMAGE
 #ifndef VIMAGE_GLOBALS
 extern struct vnet_net vnet_net_0;
diff --git a/sys/netinet/vinet.h b/sys/netinet/vinet.h
index e123006c02d4..73cd3b98e399 100644
--- a/sys/netinet/vinet.h
+++ b/sys/netinet/vinet.h
@@ -196,6 +196,9 @@ struct vnet_inet {
 	int	_fw_one_pass;
 };
 
+/* Size guard. See sys/vimage.h. */
+VIMAGE_CTASSERT(SIZEOF_vnet_inet, sizeof(struct vnet_inet));
+
 #ifndef VIMAGE
 #ifndef VIMAGE_GLOBALS
 extern struct vnet_inet vnet_inet_0;
diff --git a/sys/netinet6/vinet6.h b/sys/netinet6/vinet6.h
index e0a1fa039a21..092020099cc3 100644
--- a/sys/netinet6/vinet6.h
+++ b/sys/netinet6/vinet6.h
@@ -155,6 +155,9 @@ struct vnet_inet6 {
 	struct ip6_pktopts		_ip6_opts;
 };
 
+/* Size guard. See sys/vimage.h. */
+VIMAGE_CTASSERT(SIZEOF_vnet_inet6, sizeof(struct vnet_inet6));
+
 #ifndef VIMAGE
 #ifndef VIMAGE_GLOBALS
 extern struct vnet_inet6 vnet_inet6_0;
diff --git a/sys/netipsec/vipsec.h b/sys/netipsec/vipsec.h
index 472a3368d611..2bc38cbe0556 100644
--- a/sys/netipsec/vipsec.h
+++ b/sys/netipsec/vipsec.h
@@ -107,6 +107,9 @@ struct vnet_ipsec {
 	LIST_HEAD(, secspacq)	_spacqtree;
 };
 
+/* Size guard. See sys/vimage.h. */
+VIMAGE_CTASSERT(SIZEOF_vnet_ipsec, sizeof(struct vnet_ipsec));
+
 #ifndef VIMAGE
 #ifndef VIMAGE_GLOBALS
 extern struct vnet_ipsec vnet_ipsec_0;