diff --git a/extra/mariabackup/backup_copy.cc b/extra/mariabackup/backup_copy.cc
index f4c1b5bc83a..120555c0f1a 100644
--- a/extra/mariabackup/backup_copy.cc
+++ b/extra/mariabackup/backup_copy.cc
@@ -60,6 +60,7 @@ Street, Fifth Floor, Boston, MA 02110-1335 USA
 #ifdef _WIN32
 #include <direct.h> /* rmdir */
 #endif
+#include <functional>
 
 #define ROCKSDB_BACKUP_DIR "#rocksdb"
 
@@ -1851,7 +1852,7 @@ is_aria_log_dir_file(const datadir_node_t &node)
 bool
 copy_back_aria_logs(const char *dstdir)
 {
-  std::unique_ptr<ds_ctxt_t, void (&)(ds_ctxt_t*)>
+  std::unique_ptr<ds_ctxt_t, std::function<void(ds_ctxt_t*)>>
     ds_ctxt_aria_log_dir_path(ds_create(dstdir, DS_TYPE_LOCAL), ds_destroy);
 
   datadir_node_t node;