diff -up gnucash-2.4.7/src/gnc-module/gnc-module.c.foo gnucash-2.4.7/src/gnc-module/gnc-module.c
--- gnucash-2.4.7/src/gnc-module/gnc-module.c.foo 2011-10-14 16:19:52.296521997 -0400
+++ gnucash-2.4.7/src/gnc-module/gnc-module.c 2011-10-14 16:19:56.893522125 -0400
@@ -5,6 +5,7 @@
#include "config.h"
+#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -513,6 +513,7 @@ gnc_module_load_common(const char * modu
info->load_count = 1;
info->init_func = initfunc;
g_hash_table_insert(loaded_modules, info, info);
+ dlopen(modinfo->module_filepath, RTLD_LAZY|RTLD_GLOBAL|RTLD_NOLOAD);
/* now call its init function. this should load any dependent
* modules, too. If it doesn't return TRUE unload the module. */