diff --git a/mysql-test/r/order_fill_sortbuf.result b/mysql-test/r/order_fill_sortbuf.result
new file mode 100644
index 0000000000000000000000000000000000000000..cb3349cc43306d39ec033c90d6aed23ac6060fc8
--- /dev/null
+++ b/mysql-test/r/order_fill_sortbuf.result
@@ -0,0 +1,2 @@
+count(*)
+4000
diff --git a/mysql-test/t/order_fill_sortbuf-master.opt b/mysql-test/t/order_fill_sortbuf-master.opt
new file mode 100644
index 0000000000000000000000000000000000000000..af4e7d331434697907e4e0eb989b83622a2b63cc
--- /dev/null
+++ b/mysql-test/t/order_fill_sortbuf-master.opt
@@ -0,0 +1 @@
+-O sort_buffer=0
diff --git a/mysql-test/t/order_fill_sortbuf.test b/mysql-test/t/order_fill_sortbuf.test
new file mode 100644
index 0000000000000000000000000000000000000000..5556834d51629508e16e781443ac32d3e3831d07
--- /dev/null
+++ b/mysql-test/t/order_fill_sortbuf.test
@@ -0,0 +1,19 @@
+drop table if exists t1,t2;
+CREATE TABLE `t1` (
+  `id` int(11) NOT NULL default '0',
+  `id2` int(11) NOT NULL default '0',
+  `id3` int(11) NOT NULL default '0',
+  `dummy1` char(30) default NULL,
+  PRIMARY KEY  (`id`,`id2`),
+  KEY `index_id3` (`id3`));
+let $1=4000;
+while ($1)
+ {
+   eval insert into t1 (id,id2,id3,dummy1) values ($1,$1,$1,'foobar');
+   dec $1;
+ }
+
+create table t2 (n int);
+insert into t2 select id2 from t1 order by id3;
+select count(*) from t2;
+drop table t1,t2;