diff --git a/SOURCES/0074-curl-7.29.0-http-setup_connection.patch b/SOURCES/0074-curl-7.29.0-http-setup_connection.patch
new file mode 100644
index 0000000..a0617d6
--- /dev/null
+++ b/SOURCES/0074-curl-7.29.0-http-setup_connection.patch
@@ -0,0 +1,48 @@
+From affcd7c5dfde7af4558601518c033725b83068bc Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Fri, 22 May 2020 15:12:15 +0200
+Subject: [PATCH] http: free protocol-specific struct in setup_connection
+ callback
+
+... so that it can be setup properly later on
+---
+ lib/http.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/lib/http.c b/lib/http.c
+index 46734c4..996106f 100644
+--- a/lib/http.c
++++ b/lib/http.c
+@@ -98,12 +98,19 @@ static int https_getsock(struct connectdata *conn,
+ #define https_connecting(x,y) CURLE_COULDNT_CONNECT
+ #endif
+ 
++static CURLcode Curl_http_setup_conn(struct connectdata *conn)
++{
++  /* free protocol-specific struct so that it can be setup properly later on */
++  Curl_safefree(conn->data->state.proto.http);
++  return CURLE_OK;
++}
++
+ /*
+  * HTTP handler interface.
+  */
+ const struct Curl_handler Curl_handler_http = {
+   "HTTP",                               /* scheme */
+-  ZERO_NULL,                            /* setup_connection */
++  Curl_http_setup_conn,                 /* setup_connection */
+   Curl_http,                            /* do_it */
+   Curl_http_done,                       /* done */
+   ZERO_NULL,                            /* do_more */
+@@ -127,7 +134,7 @@ const struct Curl_handler Curl_handler_http = {
+  */
+ const struct Curl_handler Curl_handler_https = {
+   "HTTPS",                              /* scheme */
+-  ZERO_NULL,                            /* setup_connection */
++  Curl_http_setup_conn,                 /* setup_connection */
+   Curl_http,                            /* do_it */
+   Curl_http_done,                       /* done */
+   ZERO_NULL,                            /* do_more */
+-- 
+1.8.3.1
+
diff --git a/SPECS/curl.spec b/SPECS/curl.spec
index 80c668e..31740f2 100644
--- a/SPECS/curl.spec
+++ b/SPECS/curl.spec
@@ -1,7 +1,7 @@
 Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
 Name: curl
 Version: 7.29.0
-Release: 57%{?dist}
+Release: 57%{?dist}.1
 License: MIT
 Group: Applications/Internet
 Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
@@ -223,6 +223,9 @@ Patch72:  0072-curl-7.29.0-dup-auth-header.patch
 # allow curl to POST from a char device (#1769307)
 Patch73:  0073-curl-7.29.0-post-cdev.patch
 
+# http: free protocol-specific struct in setup_connection callback (#1836773)
+Patch74:  0074-curl-7.29.0-http-setup_connection.patch
+
 # patch making libcurl multilib ready
 Patch101: 0101-curl-7.29.0-multilib.patch
 
@@ -425,6 +428,7 @@ documentation of the library, too.
 %patch70 -p1
 %patch72 -p1
 %patch73 -p1
+%patch74 -p1
 
 # regenerate Makefile.in files
 aclocal -I m4
@@ -540,6 +544,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/aclocal/libcurl.m4
 
 %changelog
+* Tue Jun 02 2020 Kamil Dudka <kdudka@redhat.com> - 7.29.0-57.el7_8.1
+- http: free protocol-specific struct in setup_connection callback (#1836773)
+
 * Wed Nov 27 2019 Kamil Dudka <kdudka@redhat.com> - 7.29.0-57
 - allow curl to POST from a char device (#1769307)