diff --git a/Docs/manual.texi b/Docs/manual.texi
index 109ec71c99a7705a08fa7e17234470510fda1d82..a3cc6ffd79919613a96faf9757889da825138d62 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -48933,6 +48933,9 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
 
 @itemize @bullet
 @item
+Fixed bug in boolean fulltext search, that caused MySQL to ignore queries of
+@code{ft_min_word_len} characters.
+@item
 Boolean fulltext search now supports "phrase searches".
 @item
 New configure option @code{--without-query-cache}. 
diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c
index 10b5044826f29b429e2c292f78c01bf183e93b09..5daa6919052a6040aae418a88a59460fcc24a67d 100644
--- a/myisam/ft_boolean_search.c
+++ b/myisam/ft_boolean_search.c
@@ -256,7 +256,7 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query,
   /* hack: instead of init_queue, we'll use reinit queue to be able
    * to alloc queue with alloc_root()
    */
-  res=ftb->queue.max_elements=query_len/(ft_min_word_len+1);
+  res=ftb->queue.max_elements=1+query_len/(ft_min_word_len+1);
   ftb->queue.root=(byte **)alloc_root(&ftb->mem_root, (res+1)*sizeof(void*));
   reinit_queue(& ftb->queue, res, 0, 0,
                          (int (*)(void*,byte*,byte*))FTB_WORD_cmp, ftb);
diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result
index cd9d1a93c582e99fae1555654b1038a5a356004a..e8d9c9aa7085dd5c829c2dc10a50fc640ef64355 100644
--- a/mysql-test/r/fulltext.result
+++ b/mysql-test/r/fulltext.result
@@ -156,6 +156,9 @@ KEY ind5 (title),
 FULLTEXT KEY FT1 (title)
 ) TYPE=MyISAM;
 insert into t1 (title) values ('this is a test');
+select * from t1 where match title against ('test' in boolean mode);
+id	title
+1	this is a test
 update t1 set title='this is A test' where id=1;
 check table t1;
 Table	Op	Msg_type	Msg_text
diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test
index 616ca7cb081a5e7808fbb78944a1ea822bee4d10..0334910fe6c6de3757212008661915b807f4daa1 100644
--- a/mysql-test/t/fulltext.test
+++ b/mysql-test/t/fulltext.test
@@ -118,7 +118,7 @@ select * from t2,t3 where MATCH (t2.inhalt,t3.inhalt) AGAINST ('foobar');
 drop table t1,t2,t3;
 
 #
-# two more bugtests
+# three more bugtests
 #
 
 CREATE TABLE t1 (
@@ -130,6 +130,7 @@ CREATE TABLE t1 (
 ) TYPE=MyISAM;
 
 insert into t1 (title) values ('this is a test');
+select * from t1 where match title against ('test' in boolean mode);
 update t1 set title='this is A test' where id=1;
 check table t1;
 update t1 set title='this test once revealed a bug' where id=1;