diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index ac1b1148cf8049709ef2b4b56fb3ab667d9b8792..ee385f9792ee17ec9e6b02fe2402ee9a19407b16 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -4128,7 +4128,15 @@ mysql_execute_command(THD *thd)
 	sp= sp_find_function(thd, lex->spname);
       mysql_reset_errors(thd, 0);
       if (! sp)
-	result= SP_KEY_NOT_FOUND;
+      {
+	if (lex->spname->m_db.str)
+	  result= SP_KEY_NOT_FOUND;
+	else
+	{
+	  my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0));
+	  goto error;
+	}
+      }
       else
       {
         if (check_procedure_access(thd, ALTER_PROC_ACL, sp->m_db.str, 
@@ -4207,7 +4215,13 @@ mysql_execute_command(THD *thd)
 	  }
 	}
 #endif
-	result= SP_KEY_NOT_FOUND;
+	if (lex->spname->m_db.str)
+	  result= SP_KEY_NOT_FOUND;
+	else
+	{
+	  my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0));
+	  goto error;
+	}
       }
       res= result;
       switch (result)