diff --git a/mysql-test/suite/federated/federated.result b/mysql-test/suite/federated/federated.result
new file mode 100644
index 0000000000000000000000000000000000000000..6dcd6b1721bcfb346fc990a62c9ae2b8e92a9294
--- /dev/null
+++ b/mysql-test/suite/federated/federated.result
@@ -0,0 +1,13 @@
+CREATE DATABASE federated;
+CREATE DATABASE federated;
+CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='non_existing';
+ERROR HY000: server name: 'non_existing' doesn't exist!
+SHOW WARNINGS;
+Level	Code	Message
+Error	1	server name: 'non_existing' doesn't exist!
+Error	1	Can't create/write to file 'non_existing' (Errcode: 14)
+Error	1005	Can't create table 'test.t1' (errno: 1)
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
+DROP TABLE IF EXISTS federated.t1;
+DROP DATABASE IF EXISTS federated;
diff --git a/mysql-test/suite/federated/federated.test b/mysql-test/suite/federated/federated.test
new file mode 100644
index 0000000000000000000000000000000000000000..ab0cfc4b36c265e0f201cd1a383c90885c6781f5
--- /dev/null
+++ b/mysql-test/suite/federated/federated.test
@@ -0,0 +1,12 @@
+source include/federated.inc;
+
+
+#
+# MDEV-388 Creating a federated table with a non-existing server returns a random error code
+#
+--error 1
+CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='non_existing';
+SHOW WARNINGS;
+
+source include/federated_cleanup.inc;
+
diff --git a/mysql-test/suite/federated/federatedx.result b/mysql-test/suite/federated/federatedx.result
index af34af05e7d9e30f2a498f175774fe07924194c4..2ece1a32b4fc7db038eed56337cc12b7b4ba2259 100644
--- a/mysql-test/suite/federated/federatedx.result
+++ b/mysql-test/suite/federated/federatedx.result
@@ -2157,13 +2157,6 @@ DROP TABLE federated.t1;
 End of 5.1 tests
 SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
 SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
-CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='non_existing';
-ERROR HY000: Can't create/write to file 'server name: 'non_existing' doesn't exist!' (Errcode: 16)
-SHOW WARNINGS;
-Level	Code	Message
-Error	1	Can't create/write to file 'server name: 'non_existing' doesn't exist!' (Errcode: 16)
-Error	1	Can't create/write to file 'non_existing' (Errcode: 14)
-Error	1005	Can't create table 'test.t1' (errno: 1)
 DROP TABLE IF EXISTS federated.t1;
 DROP DATABASE IF EXISTS federated;
 DROP TABLE IF EXISTS federated.t1;
diff --git a/mysql-test/suite/federated/federatedx.test b/mysql-test/suite/federated/federatedx.test
index 688893bb856241b1da7ad329356c232f9f89694e..cfe6a425944de3d31c79bfa92e24930b2c3a8721 100644
--- a/mysql-test/suite/federated/federatedx.test
+++ b/mysql-test/suite/federated/federatedx.test
@@ -2000,11 +2000,4 @@ SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
 
 connection default;
 
-#
-# MDEV-388 Creating a federated table with a non-existing server returns a random error code
-#
---error 1
-CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='non_existing';
-SHOW WARNINGS;
-
 source include/federated_cleanup.inc;
diff --git a/storage/federatedx/ha_federatedx.cc b/storage/federatedx/ha_federatedx.cc
index 2d6ae6ccc4d7fe82844f5b5ed255cf5cffb55b4e..aac2414bca109648a3696a0cf22a099abef95b89 100644
--- a/storage/federatedx/ha_federatedx.cc
+++ b/storage/federatedx/ha_federatedx.cc
@@ -585,9 +585,8 @@ int get_connection(MEM_ROOT *mem_root, FEDERATEDX_SHARE *share)
   DBUG_RETURN(0);
 
 error:
-  sprintf(error_buffer, "server name: '%s' doesn't exist!",
-          share->connection_string);
-  my_error(error_num, MYF(0), error_buffer);
+  my_printf_error(error_num, "server name: '%s' doesn't exist!",
+                  MYF(0), share->connection_string);
   DBUG_RETURN(error_num);
 }