diff --git a/cmd/podman/kube/play.go b/cmd/podman/kube/play.go
index 01451bad4f..d4ee11f737 100644
--- a/cmd/podman/kube/play.go
+++ b/cmd/podman/kube/play.go
@@ -344,10 +344,12 @@ func teardown(body io.Reader, options entities.PlayKubeDownOptions, quiet bool)
 		fmt.Println("Pods stopped:")
 	}
 	for _, stopped := range reports.StopReport {
-		if len(stopped.Errs) == 0 && !quiet {
-			fmt.Println(stopped.Id)
-		} else {
+		switch {
+		case len(stopped.Errs) > 0:
 			podStopErrors = append(podStopErrors, stopped.Errs...)
+		case quiet:
+		default:
+			fmt.Println(stopped.Id)
 		}
 	}
 	// Dump any stop errors
@@ -361,10 +363,12 @@ func teardown(body io.Reader, options entities.PlayKubeDownOptions, quiet bool)
 		fmt.Println("Pods removed:")
 	}
 	for _, removed := range reports.RmReport {
-		if removed.Err == nil && !quiet {
-			fmt.Println(removed.Id)
-		} else {
+		switch {
+		case removed.Err != nil:
 			podRmErrors = append(podRmErrors, removed.Err)
+		case quiet:
+		default:
+			fmt.Println(removed.Id)
 		}
 	}
 
@@ -378,10 +382,12 @@ func teardown(body io.Reader, options entities.PlayKubeDownOptions, quiet bool)
 		fmt.Println("Volumes removed:")
 	}
 	for _, removed := range reports.VolumeRmReport {
-		if removed.Err == nil && !quiet {
-			fmt.Println(removed.Id)
-		} else {
+		switch {
+		case removed.Err != nil:
 			volRmErrors = append(volRmErrors, removed.Err)
+		case quiet:
+		default:
+			fmt.Println(removed.Id)
 		}
 	}
 
diff --git a/test/e2e/play_kube_test.go b/test/e2e/play_kube_test.go
index ff884831a9..c37a87c5b5 100644
--- a/test/e2e/play_kube_test.go
+++ b/test/e2e/play_kube_test.go
@@ -4519,6 +4519,38 @@ cgroups="disabled"`), 0644)
 		Expect(kube).Should(Exit(0))
 	})
 
+	It("podman kube --quiet with error", func() {
+		yaml := `
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: frontend
+spec:
+  replicas: 2
+  template:
+    metadata:
+      labels:
+        app: guestbook
+        tier: frontend
+    spec:
+      containers:
+      - name: php-redis
+        image: quay.io/libpod/alpine_nginx:latest
+        ports:
+        - containerPort: 1234
+`
+
+		err = writeYaml(yaml, kubeYaml)
+		Expect(err).ToNot(HaveOccurred())
+
+		kube := podmanTest.Podman([]string{"kube", "play", "--quiet", kubeYaml})
+		kube.WaitWithDefaultTimeout()
+		Expect(kube).To(ExitWithError())
+		// The ugly format-error exited once in Podman. The test makes
+		// sure it's not coming back.
+		Expect(kube.ErrorToString()).To(Not(ContainSubstring("Error: %!s(<nil>)")))
+	})
+
 	It("podman kube play invalid yaml should clean up pod that was created before failure", func() {
 		podTemplate := `---
 apiVersion: v1