diff --git a/tools/flex/Makefile b/tools/flex/Makefile
index 0e56edea50db6cba56295b155f320ba4cab0d972..78eb1e0b460814f4ab5bb3dc173caab243440c7a 100644
--- a/tools/flex/Makefile
+++ b/tools/flex/Makefile
@@ -1,5 +1,5 @@
 # 
-# Copyright (C) 2008-2014 OpenWrt.org
+# Copyright (C) 2008-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -7,12 +7,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=flex
-PKG_VERSION:=2.5.39
+PKG_VERSION:=2.6.1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_MD5SUM:=77d44c6bb8c0705e0017ab9a84a1502b
-PKG_CAT:=bzcat
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://github.com/westes/flex/releases/download/v$(PKG_VERSION)/
+PKG_MD5SUM:=cd3c86290fc2676a641aefafeb10848a
 
 HOST_BUILD_PARALLEL:=1
 
diff --git a/tools/flex/patches/100-disable-tests-docs.patch b/tools/flex/patches/100-disable-tests-docs.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d6e289d5b3c361cd01e4505cedb4c2a2553c6c53
--- /dev/null
+++ b/tools/flex/patches/100-disable-tests-docs.patch
@@ -0,0 +1,13 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -45,10 +45,7 @@
+ SUBDIRS = \
+ 	lib \
+ 	src \
+-	doc \
+-	examples \
+ 	po \
+-	tests \
+ 	tools
+ 
+ # Create the ChangeLog, but only if we're inside a git working directory
diff --git a/tools/flex/patches/100-remove_no_undefined.patch b/tools/flex/patches/100-remove_no_undefined.patch
deleted file mode 100644
index 4e8aca13c7ce5a5cb175f39bf6945497f39aa002..0000000000000000000000000000000000000000
--- a/tools/flex/patches/100-remove_no_undefined.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -73,13 +73,13 @@ libfl_la_SOURCES = \
- 	libmain.c \
- 	libyywrap.c
- 
--libfl_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@
-+libfl_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
- 
- libfl_pic_la_SOURCES = \
- 	libmain.c \
- 	libyywrap.c
- 
--libfl_pic_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@
-+libfl_pic_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
- 
- noinst_HEADERS = \
- 	flexdef.h \