diff --git a/config.h.cmake b/config.h.cmake
index 8eea083695262ee963d5e1d106e582deaf06b6fe..ecd25d19b20b8ee2c7585b75d48d2c0ac885e19d 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -51,6 +51,8 @@
 #define MEDIASTREAMER2_LOCAL_PLUGINS_LOCATION "${CMAKE_BINARY_DIR}/lib/mediastreamer2/plugins"
 #define LIBLINPHONE_LOCAL_PLUGINS_LOCATION "${CMAKE_BINARY_DIR}/lib/liblinphone/plugins"
 
+#define SOCI_LOCAL_PLUGINS_LOCATION "${CMAKE_BINARY_DIR}/lib"
+
 #cmakedefine HAVE_ZLIB 1
 #cmakedefine HAVE_CU_GET_SUITE 1
 #cmakedefine HAVE_CU_CURSES 1
diff --git a/tester/liblinphone_tester.c b/tester/liblinphone_tester.c
index 1064261410b01cbbf069e4ecf19df54c982e30cf..368d6e0604d7d2eb4b23496b2d100f0fab633711 100644
--- a/tester/liblinphone_tester.c
+++ b/tester/liblinphone_tester.c
@@ -132,6 +132,10 @@ static int liblinphone_tester_start(int argc, char *argv[]) {
 
 		linphone_factory_set_msplugins_dir(linphone_factory_get(), MEDIASTREAMER2_LOCAL_PLUGINS_LOCATION);
 		linphone_factory_set_liblinphone_plugins_dir(linphone_factory_get(), LIBLINPHONE_LOCAL_PLUGINS_LOCATION);
+
+#ifdef HAVE_SOCI
+		liblinphone_tester_add_soci_search_path(SOCI_LOCAL_PLUGINS_LOCATION);
+#endif
 	}
 #endif
 
diff --git a/tester/liblinphone_tester.h b/tester/liblinphone_tester.h
index eb8428e04d16f1dabd3bd538aa28e8eaa62a19cf..159e7af5382237a1670e730bd6c6a54aea62646a 100644
--- a/tester/liblinphone_tester.h
+++ b/tester/liblinphone_tester.h
@@ -1029,6 +1029,9 @@ bctbx_list_t *liblinphone_tester_remove_v6_addr(bctbx_list_t *l);
 
 bool_t liblinphone_tester_is_executable_installed(const char *executable, const char *resource);
 void liblinphone_tester_add_grammar_loader_path(const char *path);
+#ifdef HAVE_SOCI
+void liblinphone_tester_add_soci_search_path(const char *path);
+#endif
 
 #ifdef __cplusplus
 };
diff --git a/tester/tester.cpp b/tester/tester.cpp
index 2df0ca3bfffd8a50156f0e7ea257a4b06b421e0f..00ffc813d3c795ff67faeb405dfd443d688fe1e3 100644
--- a/tester/tester.cpp
+++ b/tester/tester.cpp
@@ -25,6 +25,7 @@
 #include <belr/grammarbuilder.h>
 
 #ifdef HAVE_SOCI
+#include <soci/backend-loader.h>
 #include <soci/soci.h>
 #endif
 
@@ -84,3 +85,9 @@ bool_t liblinphone_tester_is_executable_installed(const char *executable, const
 void liblinphone_tester_add_grammar_loader_path(const char *path) {
 	belr::GrammarLoader::get().addPath(std::string(path));
 }
+
+#ifdef HAVE_SOCI
+void liblinphone_tester_add_soci_search_path(const char *path) {
+	soci::dynamic_backends::search_paths().emplace_back(path);
+}
+#endif