diff --git a/cmd/podman/common/specgen.go b/cmd/podman/common/specgen.go
index e14fd78b47..9e8a271aef 100644
--- a/cmd/podman/common/specgen.go
+++ b/cmd/podman/common/specgen.go
@@ -288,7 +288,23 @@ func FillOutSpecGen(s *specgen.SpecGenerator, c *ContainerCLIOpts, args []string
 
 	if c.EnvHost {
 		env = envLib.Join(env, osEnv)
+	} else if c.HTTPProxy {
+		for _, envSpec := range []string{
+			"http_proxy",
+			"HTTP_PROXY",
+			"https_proxy",
+			"HTTPS_PROXY",
+			"ftp_proxy",
+			"FTP_PROXY",
+			"no_proxy",
+			"NO_PROXY",
+		} {
+			if v, ok := osEnv[envSpec]; ok {
+				env[envSpec] = v
+			}
+		}
 	}
+
 	// env-file overrides any previous variables
 	for _, f := range c.EnvFile {
 		fileEnv, err := envLib.ParseFile(f)
diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go
index 6386b8a70b..7745bcf6a6 100644
--- a/test/e2e/run_test.go
+++ b/test/e2e/run_test.go
@@ -877,7 +877,6 @@ USER mail`
 	})
 
 	It("podman run --http-proxy test", func() {
-		Skip(v2fail)
 		os.Setenv("http_proxy", "1.2.3.4")
 		session := podmanTest.Podman([]string{"run", "--rm", ALPINE, "printenv", "http_proxy"})
 		session.WaitWithDefaultTimeout()