diff --git a/lfs/ddns b/lfs/ddns
index b1d0f2dbb..873f927af 100644
--- a/lfs/ddns
+++ b/lfs/ddns
@@ -72,7 +72,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 
 	# Apply upstream patches.
-	# No upstream patches at the moment.
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-014-freednsafraid-fix-typo.patch
 
 	cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
 	cd $(DIR_APP) && ./configure \
diff --git a/src/patches/ddns-014-freednsafraid-fix-typo.patch b/src/patches/ddns-014-freednsafraid-fix-typo.patch
new file mode 100644
index 000000000..4982d52f4
--- /dev/null
+++ b/src/patches/ddns-014-freednsafraid-fix-typo.patch
@@ -0,0 +1,21 @@
+commit 3a162595b9b44a4cbf08a3db14a4d2ebfeeb5583
+Author: Stefan Schantl <stefan.schantl@ipfire.org>
+Date:   Sat Oct 23 21:11:27 2021 +0200
+
+    FreeDNSAfraid.org: Fix typo in checking if the IP has been changed.
+    
+    Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
+
+diff --git a/src/ddns/providers.py b/src/ddns/providers.py
+index 4f27af9..5b2a82d 100644
+--- a/src/ddns/providers.py
++++ b/src/ddns/providers.py
+@@ -1204,7 +1204,7 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider):
+ 		output = response.read().decode()
+ 
+ 		# Handle success messages.
+-		if output.startswith("Updated") or output.startswith("No IP changed detected"):
++		if output.startswith("Updated") or output.startswith("No IP change detected"):
+ 			return
+ 
+ 		# Handle error codes.
