diff --git a/docs/index.rst b/docs/index.rst
index f1f36c294e1a8a4ec0aea57631753b14845688c8..0ddd18781f8b39201685dbfdea9f2f58715f6c0c 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -173,7 +173,7 @@ ar71xx-generic
   - TL-WA830RE (v1, v2)
   - TL-WA850RE (v1)
   - TL-WA860RE (v1)
-  - TL-WA901N/ND (v1, v2, v3)
+  - TL-WA901N/ND (v1, v2, v3, v4)
   - TL-WDR3500 (v1)
   - TL-WDR3600 (v1)
   - TL-WDR4300 (v1)
diff --git a/patches/openwrt/0076-ar71xx-set-EU-region-code-for-TP-Link-TL-WA901ND-v4.patch b/patches/openwrt/0076-ar71xx-set-EU-region-code-for-TP-Link-TL-WA901ND-v4.patch
new file mode 100644
index 0000000000000000000000000000000000000000..448584cfb217107b8c55d9f3fa1a9b2361a4343e
--- /dev/null
+++ b/patches/openwrt/0076-ar71xx-set-EU-region-code-for-TP-Link-TL-WA901ND-v4.patch
@@ -0,0 +1,29 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Sat, 15 Oct 2016 19:10:33 +0200
+Subject: ar71xx: set EU region code for TP-Link TL-WA901ND v4
+
+There is no US firmware for the TL-WA901ND v4 yet, so we'll just
+unconditionally set the EU region for now.
+
+This makes LEDE flashable on these devices again. The format of the region
+string is slightly different from the one used on the Archer C7 that is
+generated by mktplinkfw (the second half of the region string is missing),
+but it's similar enough to make it work.
+
+Tested-by: Jannis Pinter <jannis@pinterjann.is>
+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
+
+Backport of LEDE 83f7ec31f8f9641ef842212c45db61b72682debf
+
+diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
+index cbd8a49..ac21e71 100644
+--- a/target/linux/ar71xx/image/Makefile
++++ b/target/linux/ar71xx/image/Makefile
+@@ -736,6 +736,7 @@ define Device/tl-wa901nd-v4
+     BOARDNAME := TL-WA901ND-v4
+     DEVICE_PROFILE := TLWA901
+     TPLINK_HWID := 0x09010004
++    IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C EU
+ endef
+ 
+ TARGET_DEVICES += tl-wa901nd-v3 tl-wa901nd-v4
diff --git a/targets/ar71xx-generic/profiles.mk b/targets/ar71xx-generic/profiles.mk
index a8a1740c8bc4214a5c14c18d392be62ba07b8808..416a4ebd356af72c12a4cbe0d9e9ef1ccfde26c0 100644
--- a/targets/ar71xx-generic/profiles.mk
+++ b/targets/ar71xx-generic/profiles.mk
@@ -136,9 +136,7 @@ $(eval $(call GluonProfile,TLWA901))
 $(eval $(call GluonModel,TLWA901,tl-wa901nd-v1,tp-link-tl-wa901n-nd-v1))
 $(eval $(call GluonModel,TLWA901,tl-wa901nd-v2,tp-link-tl-wa901n-nd-v2))
 $(eval $(call GluonModel,TLWA901,tl-wa901nd-v3,tp-link-tl-wa901n-nd-v3))
-ifneq ($(BROKEN),)
-$(eval $(call GluonModel,TLWA901,tl-wa901nd-v4,tp-link-tl-wa901n-nd-v4)) # BROKEN: untested
-endif
+$(eval $(call GluonModel,TLWA901,tl-wa901nd-v4,tp-link-tl-wa901n-nd-v4))
 
 # TL-MR13U v1
 $(eval $(call GluonProfile,TLMR13U))