diff --git a/flex/.md5sum b/flex/.md5sum
index d594c983..0aa37a2d 100644
--- a/flex/.md5sum
+++ b/flex/.md5sum
@@ -1 +1,2 @@
+78f98fd91043a6a2a36c456c12b61704  flex-2.6.0-2.patch
 3cbbfa1554d0b75fad9f8100732454de  flex-2.6.0.tar.xz
diff --git a/flex/Pkgfile b/flex/Pkgfile
index 6d275cc8..edb851d6 100644
--- a/flex/Pkgfile
+++ b/flex/Pkgfile
@@ -4,12 +4,17 @@
 
 name=flex
 version=2.6.0
-release=1
-source=(http://downloads.sourceforge.net/project/$name/$name-$version.tar.xz)
+release=2
+source=(http://downloads.sourceforge.net/project/$name/$name-$version.tar.xz
+        $name-$version-2.patch)
 
 build() {
     cd $name-$version
     
+    # fix for FS#1284
+    patch -p1 -i $SRC/$name-$version-2.patch
+    touch doc/flex.1
+
     ./configure --prefix=/usr --disable-nls
     
     make
diff --git a/flex/flex-2.6.0-2.patch b/flex/flex-2.6.0-2.patch
new file mode 100644
index 00000000..69707d19
--- /dev/null
+++ b/flex/flex-2.6.0-2.patch
@@ -0,0 +1,19 @@
+commit 07d89829cce4527c7614a34642d4b2c2ef5d6005
+Author: Will Estes <westes575@gmail.com>
+Date:   Fri Dec 11 09:45:14 2015 -0500
+
+    Commented in C style in skeleton; fixed sf#195
+
+diff --git a/src/flex.skl b/src/flex.skl
+index b63c8c8..40287b6 100644
+--- a/src/flex.skl
++++ b/src/flex.skl
+@@ -2350,7 +2350,7 @@ void yyFlexLexer::yyensure_buffer_stack(void)
+ 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+ 		 * immediate realloc on the next call.
+          */
+-		num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
++      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
+ 		YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+ 								(num_to_alloc * sizeof(struct yy_buffer_state*)
+ 								M4_YY_CALL_LAST_ARG);