diff --git a/pkg/domain/infra/abi/play.go b/pkg/domain/infra/abi/play.go
index 45500b23c0..5de4754808 100644
--- a/pkg/domain/infra/abi/play.go
+++ b/pkg/domain/infra/abi/play.go
@@ -199,18 +199,20 @@ func (ic *ContainerEngine) playKubePod(ctx context.Context, podName string, podY
 		return nil, err
 	}
 
-	ns, networks, netOpts, err := specgen.ParseNetworkFlag(options.Networks)
-	if err != nil {
-		return nil, err
-	}
+	if len(options.Networks) > 0 {
+		ns, networks, netOpts, err := specgen.ParseNetworkFlag(options.Networks)
+		if err != nil {
+			return nil, err
+		}
 
-	if (ns.IsBridge() && len(networks) == 0) || ns.IsHost() {
-		return nil, errors.Errorf("invalid value passed to --network: bridge or host networking must be configured in YAML")
-	}
+		if (ns.IsBridge() && len(networks) == 0) || ns.IsHost() {
+			return nil, errors.Errorf("invalid value passed to --network: bridge or host networking must be configured in YAML")
+		}
 
-	podOpt.Net.Network = ns
-	podOpt.Net.Networks = networks
-	podOpt.Net.NetworkOptions = netOpts
+		podOpt.Net.Network = ns
+		podOpt.Net.Networks = networks
+		podOpt.Net.NetworkOptions = netOpts
+	}
 
 	// FIXME This is very hard to support properly with a good ux
 	if len(options.StaticIPs) > *ipIndex {
diff --git a/test/e2e/play_kube_test.go b/test/e2e/play_kube_test.go
index 6d89a844e6..46a8e88bcf 100644
--- a/test/e2e/play_kube_test.go
+++ b/test/e2e/play_kube_test.go
@@ -2779,11 +2779,7 @@ MemoryReservation: {{ .HostConfig.MemoryReservation }}`})
 	})
 
 	It("podman play kube test with HostNetwork", func() {
-		if !strings.Contains(podmanTest.OCIRuntime, "crun") {
-			Skip("Test only works on crun")
-		}
-
-		pod := getPod(withHostNetwork())
+		pod := getPod(withHostNetwork(), withCtr(getCtr(withCmd([]string{"readlink", "/proc/self/ns/net"}), withArg(nil))))
 		err := generateKubeYaml("pod", pod, kubeYaml)
 		Expect(err).To(BeNil())
 
@@ -2795,6 +2791,17 @@ MemoryReservation: {{ .HostConfig.MemoryReservation }}`})
 		inspect.WaitWithDefaultTimeout()
 		Expect(inspect).Should(Exit(0))
 		Expect(inspect.OutputToString()).To(Equal("true"))
+
+		ns := SystemExec("readlink", []string{"/proc/self/ns/net"})
+		ns.WaitWithDefaultTimeout()
+		Expect(ns).Should(Exit(0))
+		netns := ns.OutputToString()
+		Expect(netns).ToNot(BeEmpty())
+
+		logs := podmanTest.Podman([]string{"logs", getCtrNameInPod(pod)})
+		logs.WaitWithDefaultTimeout()
+		Expect(logs).Should(Exit(0))
+		Expect(logs.OutputToString()).To(Equal(netns))
 	})
 
 	It("podman play kube persistentVolumeClaim", func() {