diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc
index bb2bb6319a915f97c0c74ce914bdf4102b1f1825..5acf8242c65b65bf8d8133d715ec6f2bf5f771a3 100644
--- a/sql/item_subselect.cc
+++ b/sql/item_subselect.cc
@@ -1287,7 +1287,8 @@ int subselect_uniquesubquery_engine::exec()
   error= table->file->index_read(table->record[0],
                                  tab->ref.key_buff,
                                  tab->ref.key_length,HA_READ_KEY_EXACT);
-  if (error && error != HA_ERR_KEY_NOT_FOUND)
+  if (error &&
+      error != HA_ERR_KEY_NOT_FOUND && error != HA_ERR_END_OF_FILE)
     error= report_error(table, error);
   else
   {
@@ -1339,7 +1340,8 @@ int subselect_indexsubquery_engine::exec()
   error= table->file->index_read(table->record[0],
                                  tab->ref.key_buff,
                                  tab->ref.key_length,HA_READ_KEY_EXACT);
-  if (error && error != HA_ERR_KEY_NOT_FOUND)
+  if (error &&
+      error != HA_ERR_KEY_NOT_FOUND && error != HA_ERR_END_OF_FILE)
     error= report_error(table, error);
   else
   {