diff --git a/target/linux/generic/patches-3.14/220-gc_sections.patch b/target/linux/generic/patches-3.14/220-gc_sections.patch
index c105c40b80cf9e007e012b3c6e2a999ff1dadd8d..1beafaaa30f59acf61cbbc1c81457954319acafb 100644
--- a/target/linux/generic/patches-3.14/220-gc_sections.patch
+++ b/target/linux/generic/patches-3.14/220-gc_sections.patch
@@ -346,6 +346,15 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  		*(COMMON)						\
  	}
  
+@@ -584,7 +585,7 @@
+ 	. = ALIGN(8);							\
+ 	__bug_table : AT(ADDR(__bug_table) - LOAD_OFFSET) {		\
+ 		VMLINUX_SYMBOL(__start___bug_table) = .;		\
+-		*(__bug_table)						\
++		KEEP(*(__bug_table))	\
+ 		VMLINUX_SYMBOL(__stop___bug_table) = .;			\
+ 	}
+ #else
 @@ -596,7 +597,7 @@
  	. = ALIGN(4);							\
  	.tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) {		\