diff --git a/SOURCES/bz1850778-azure-lb-fix-redirect-issue.patch b/SOURCES/bz1850778-azure-lb-fix-redirect-issue.patch
new file mode 100644
index 0000000..b171613
--- /dev/null
+++ b/SOURCES/bz1850778-azure-lb-fix-redirect-issue.patch
@@ -0,0 +1,54 @@
+From d22700fc5d5098c683b465ea0fede43803fd4d6b Mon Sep 17 00:00:00 2001
+From: Reid wahl <nrwahl@protonmail.com>
+Date: Tue, 7 Jul 2020 02:18:09 -0700
+Subject: [PATCH] azure-lb: Don't redirect nc listener output to pidfile
+
+The `lb_start()` function spawns an `nc` listener background process
+and echoes the resulting pid to `$pidfile`. Due to a bug in the
+redirection, all future data received by the `nc` process is also
+appended to `$pidfile`.
+
+If binary data is received later and appended to `$pidfile`, the
+monitor operation fails when `grep` searches the now-binary file.
+
+```
+line 97: kill: Binary: arguments must be process or job IDs ]
+line 97: kill: file: arguments must be process or job IDs ]
+line 97: kill: /var/run/nc_PF2_02.pid: arguments must be process or job
+    IDs ]
+line 97: kill: matches: arguments must be process or job IDs ]
+```
+
+Then the start operation fails during recovery. `lb_start()` spawns a
+new `nc` process, but the old process is still running and using the
+configured port.
+
+```
+nc_PF2_02_start_0:777:stderr [ Ncat: bind to :::62502: Address
+    already in use. QUITTING. ]
+```
+
+This patch fixes the issue by removing the `nc &` command from the
+section whose output gets redirected to `$pidfile`. Now, only the `nc`
+PID is echoed to `$pidfile`.
+
+Resolves: RHBZ#1850778
+Resolves: RHBZ#1850779
+---
+ heartbeat/azure-lb | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/heartbeat/azure-lb b/heartbeat/azure-lb
+index 05c134514..05755d778 100755
+--- a/heartbeat/azure-lb
++++ b/heartbeat/azure-lb
+@@ -113,7 +113,8 @@ lb_start() {
+ 	if ! lb_monitor; then
+ 		ocf_log debug "Starting $process: $cmd"
+ 		# Execute the command as created above
+-		eval "$cmd & echo \$!" > $pidfile
++		$cmd &
++		echo $! > $pidfile
+ 		if lb_monitor; then
+ 			ocf_log debug "$process: $cmd started successfully, calling monitor"
+ 			lb_monitor
diff --git a/SPECS/resource-agents.spec b/SPECS/resource-agents.spec
index 46bfa3d..4b87092 100644
--- a/SPECS/resource-agents.spec
+++ b/SPECS/resource-agents.spec
@@ -70,7 +70,7 @@
 Name:		resource-agents
 Summary:	Open Source HA Reusable Cluster Resource Scripts
 Version:	4.1.1
-Release:	67%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
+Release:	68%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
 License:	GPLv2+ and LGPLv2+
 URL:		https://github.com/ClusterLabs/resource-agents
 %if 0%{?fedora} || 0%{?centos_version} || 0%{?rhel}
@@ -235,6 +235,7 @@ Patch143:	bz1818997-3-nfsserver-nfsnotify-fix-selinux-label-issue.patch
 Patch144:	bz1845574-azure-events-2-import-urlerror-encode-postdata.patch
 Patch145:	bz1846733-gcp-vpc-move-vip-1-support-multiple-alias-ips.patch
 Patch146:	bz1846733-gcp-vpc-move-vip-2-fix-list-sort.patch
+Patch147:	bz1850778-azure-lb-fix-redirect-issue.patch
 
 # bundle patches
 Patch1000:	7-gcp-bundled.patch
@@ -530,6 +531,7 @@ exit 1
 %patch144 -p1
 %patch145 -p1
 %patch146 -p1
+%patch147 -p1
 
 chmod 755 heartbeat/nova-compute-wait
 chmod 755 heartbeat/NovaEvacuate
@@ -1093,6 +1095,11 @@ ccs_update_schema > /dev/null 2>&1 ||:
 %endif
 
 %changelog
+* Thu Aug 20 2020 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.1.1-68
+- azure-lb: fix redirect issue
+
+  Resolves: rhbz#1850778
+
 * Wed Aug 19 2020 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.1.1-67
 - gcp-vpc-move-vip: add support for multiple alias IPs