diff --git a/ndb/examples/ndbapi_async_example/ndbapi_async.cpp b/ndb/examples/ndbapi_async_example/ndbapi_async.cpp
index 7abebcc832da9b2a6480c5b2e3cb2382af8b6d59..c34d8de9ec58bbf7fb41dae826c465596098bd6e 100644
--- a/ndb/examples/ndbapi_async_example/ndbapi_async.cpp
+++ b/ndb/examples/ndbapi_async_example/ndbapi_async.cpp
@@ -454,6 +454,7 @@ int populate(Ndb * myNdb, int data, async_callback_t * cbData)
 
 int main()
 {
+  ndb_init();
   Ndb* myNdb = new Ndb( "TEST_DB" );  // Object representing the database
   
   /*******************************************
diff --git a/ndb/examples/ndbapi_example1/ndbapi_example1.cpp b/ndb/examples/ndbapi_example1/ndbapi_example1.cpp
index 879d86de82475ed54080938e9eebf43a39e5040d..53d23dd71337f497e96a2a334a0317eeffb72dda 100644
--- a/ndb/examples/ndbapi_example1/ndbapi_example1.cpp
+++ b/ndb/examples/ndbapi_example1/ndbapi_example1.cpp
@@ -44,6 +44,7 @@
 
 int main()
 {
+  ndb_init();
   Ndb* myNdb = new Ndb( "TEST_DB_1" );  // Object representing the database
   NdbDictionary::Table myTable;
   NdbDictionary::Column myColumn;
diff --git a/ndb/examples/ndbapi_example2/ndbapi_example2.cpp b/ndb/examples/ndbapi_example2/ndbapi_example2.cpp
index 1c61721c03767d82ab84a89ee0b82c69c9580b5d..95a7bae66b89f199079d2a6bf92a11efd878214c 100644
--- a/ndb/examples/ndbapi_example2/ndbapi_example2.cpp
+++ b/ndb/examples/ndbapi_example2/ndbapi_example2.cpp
@@ -39,6 +39,7 @@ static void callback(int result, NdbConnection* NdbObject, void* aObject);
 
 int main()
 {
+  ndb_init();
   Ndb* myNdb = new Ndb( "TEST_DB_2" );  // Object representing the database
 
   NdbConnection*  myNdbConnection[2];   // For transactions
diff --git a/ndb/examples/ndbapi_example3/ndbapi_example3.cpp b/ndb/examples/ndbapi_example3/ndbapi_example3.cpp
index 36d2cf1608c94b149bc0aecba6dbf3468a7da3aa..91d9ff122ba42317a1ea6b5e7374ebed3fa6f34e 100644
--- a/ndb/examples/ndbapi_example3/ndbapi_example3.cpp
+++ b/ndb/examples/ndbapi_example3/ndbapi_example3.cpp
@@ -176,6 +176,7 @@ int executeInsertTransaction(int transactionId, Ndb* myNdb) {
 
 int main()
 {
+  ndb_init();
   Ndb* myNdb = new Ndb( "TEST_DB_1" );  // Object representing the database
   
   /*******************************************
diff --git a/ndb/examples/ndbapi_example4/ndbapi_example4.cpp b/ndb/examples/ndbapi_example4/ndbapi_example4.cpp
index 520172b9b0c60be0de32f32c98c7e7e744917e3d..a37822dbf0cf75e83a02aef93e652487a4c2f7b9 100644
--- a/ndb/examples/ndbapi_example4/ndbapi_example4.cpp
+++ b/ndb/examples/ndbapi_example4/ndbapi_example4.cpp
@@ -44,6 +44,7 @@
 
 int main()
 {
+  ndb_init();
   Ndb* myNdb = new Ndb( "TEST_DB_1" );  // Object representing the database
   NdbDictionary::Table myTable;
   NdbDictionary::Column myColumn;
diff --git a/ndb/examples/ndbapi_example5/ndbapi_example5.cpp b/ndb/examples/ndbapi_example5/ndbapi_example5.cpp
index a9d3099883c5d7336cc7427a40cf6b2aff655f95..77f74e7bb63346918a138a4d6a83d5aabf7b33e2 100644
--- a/ndb/examples/ndbapi_example5/ndbapi_example5.cpp
+++ b/ndb/examples/ndbapi_example5/ndbapi_example5.cpp
@@ -65,6 +65,7 @@ int myCreateEvent(Ndb* myNdb,
 
 int main()
 {
+  ndb_init();
   Ndb* myNdb = myCreateNdb();
   NdbDictionary::Dictionary *myDict;
 
diff --git a/ndb/examples/ndbapi_scan_example/ndbapi_scan.cpp b/ndb/examples/ndbapi_scan_example/ndbapi_scan.cpp
index 7c3a66326c690e833a55ba326cf12cee3bf9cf43..98cfd1ef0d5b1af6835289bb82e5333f5697d6fd 100644
--- a/ndb/examples/ndbapi_scan_example/ndbapi_scan.cpp
+++ b/ndb/examples/ndbapi_scan_example/ndbapi_scan.cpp
@@ -761,6 +761,7 @@ int scan_print(Ndb * myNdb, int parallelism,
 
 int main()
 {
+  ndb_init();
   Ndb* myNdb = new Ndb( "TEST_DB" );  // Object representing the database
 
   
diff --git a/ndb/examples/select_all/select_all.cpp b/ndb/examples/select_all/select_all.cpp
index 3cdbdc47e62a70526e8442985da4268e4d03dd90..bd25fb60128f91464c08ebb15bac5c72b72f4bd9 100644
--- a/ndb/examples/select_all/select_all.cpp
+++ b/ndb/examples/select_all/select_all.cpp
@@ -112,6 +112,7 @@ const char*  ResultSetContainer::getAttrName(int i) const  {return m_names[i];}
 
 int main(int argc, const char** argv) 
 {
+  ndb_init();
   Ndb* myNdb = new Ndb("ndbapi_example4"); // Object representing the database
   NdbConnection* myNdbConnection;          // For transactions
   NdbOperation* myNdbOperation;            // For operations
diff --git a/ndb/include/ndb_global.h b/ndb/include/ndb_global.h
index 0ae781ba5c2043e9b01e76dc24ab582119799cff..19bd387c457da9005d4d11b91cdd7eee5e5a4109 100644
--- a/ndb/include/ndb_global.h
+++ b/ndb/include/ndb_global.h
@@ -76,6 +76,9 @@ extern "C" {
 	
 #include <assert.h>
 
+/* call in main() - does not return on error */
+extern int ndb_init(void);
+
 #ifndef HAVE_STRDUP
 extern char * strdup(const char *s);
 #endif
diff --git a/ndb/src/common/util/Makefile.am b/ndb/src/common/util/Makefile.am
index 678added01e1f762907146ba7c98c7e0b53fd688..efb249dd330fe08513f778fd78f7b528c92d8479 100644
--- a/ndb/src/common/util/Makefile.am
+++ b/ndb/src/common/util/Makefile.am
@@ -9,7 +9,7 @@ libgeneral_la_SOURCES = \
 	    NdbSqlUtil.cpp new.cpp \
             uucode.c random.c getarg.c version.c \
             strdup.c strlcat.c strlcpy.c \
-            ConfigValues.cpp
+            ConfigValues.cpp ndb_init.c
 
 include $(top_srcdir)/ndb/config/common.mk.am
 include $(top_srcdir)/ndb/config/type_util.mk.am
diff --git a/ndb/src/common/util/ndb_init.c b/ndb/src/common/util/ndb_init.c
new file mode 100644
index 0000000000000000000000000000000000000000..b160ed3636bebf8c7ec4cb4e51213c3e9651e2c9
--- /dev/null
+++ b/ndb/src/common/util/ndb_init.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 2003 MySQL AB
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
+
+#include <ndb_global.h>
+#include <my_sys.h>
+
+int
+ndb_init()
+{
+  if (my_init()) {
+    const char* err = "my_init() failed - exit\n";
+    write(2, err, strlen(err));
+    exit(1);
+  }
+  return 0;
+}
diff --git a/ndb/src/kernel/blocks/backup/read.cpp b/ndb/src/kernel/blocks/backup/read.cpp
index 921c352ea134a14c43912d4e5924307ec408843d..89cc08ee9de7dbe642536655489a47d10c9079b0 100644
--- a/ndb/src/kernel/blocks/backup/read.cpp
+++ b/ndb/src/kernel/blocks/backup/read.cpp
@@ -48,6 +48,7 @@ static Uint32 logEntryNo;
 int
 main(int argc, const char * argv[]){
 
+  ndb_init();
   if(argc <= 1){
     printf("Usage: %s <filename>", argv[0]);
     exit(1);
diff --git a/ndb/src/kernel/blocks/backup/restore/main.cpp b/ndb/src/kernel/blocks/backup/restore/main.cpp
index a330aa513736708ba1262b16660b2e174773bfa1..077e9f4340c99163621c392b63ae291c14afbb7b 100644
--- a/ndb/src/kernel/blocks/backup/restore/main.cpp
+++ b/ndb/src/kernel/blocks/backup/restore/main.cpp
@@ -206,6 +206,7 @@ free_data_callback()
 int
 main(int argc, const char** argv)
 {
+  ndb_init();
   if (!readArguments(argc, argv))
   {
     return -1;
diff --git a/ndb/src/kernel/main.cpp b/ndb/src/kernel/main.cpp
index 491733975a87a5c01a673d3c8d69d5d97627d159..20844db75b62d2182449c1f007b8eb13717193aa 100644
--- a/ndb/src/kernel/main.cpp
+++ b/ndb/src/kernel/main.cpp
@@ -56,6 +56,7 @@ const char programName[] = "NDB Kernel";
 
 NDB_MAIN(ndb_kernel){
 
+  ndb_init();
   // Print to stdout/console
   g_eventLogger.createConsoleHandler();
   g_eventLogger.setCategory("NDB");
diff --git a/ndb/src/kernel/vm/Configuration.cpp b/ndb/src/kernel/vm/Configuration.cpp
index 8907cb9f640601520953787b70bd17613c0d2e42..1dbd0477d54296932560313d7c7051b674c65bee 100644
--- a/ndb/src/kernel/vm/Configuration.cpp
+++ b/ndb/src/kernel/vm/Configuration.cpp
@@ -105,7 +105,6 @@ Configuration::init(int argc, const char** argv){
   }
   // check for depricated flag '-i'
 
-  my_init();
 #ifndef DBUG_OFF
   if (debug_option)
     DBUG_PUSH(debug_option);
diff --git a/ndb/src/mgmclient/main.cpp b/ndb/src/mgmclient/main.cpp
index df6659df0b10d2006a9837e917493b3b505eee08..69f968677cd64f44fd1bc503b2e571f12ad6c772 100644
--- a/ndb/src/mgmclient/main.cpp
+++ b/ndb/src/mgmclient/main.cpp
@@ -44,6 +44,7 @@ handler(int sig){
 }
 
 int main(int argc, const char** argv){
+  ndb_init();
   int optind = 0;
   const char *_host = 0;
   int _port = 0;
diff --git a/ndb/src/mgmsrv/main.cpp b/ndb/src/mgmsrv/main.cpp
index cecf1c1e499c824089baec7e148f7e9d2e7ff143..484ca941414759cde65046a5d9530b289551249a 100644
--- a/ndb/src/mgmsrv/main.cpp
+++ b/ndb/src/mgmsrv/main.cpp
@@ -129,6 +129,7 @@ int num_args = sizeof(args) / sizeof(args[0]);
  *  MAIN 
  */
 NDB_MAIN(mgmsrv){
+  ndb_init();
   /**
    * OSE specific. Enable shared ownership of file system resources. 
    * This is needed in order to use the cluster log since the events 
@@ -151,7 +152,6 @@ NDB_MAIN(mgmsrv){
     glob.daemon= 0;
   }
 
-  my_init();
 #ifndef DBUG_OFF
   if (debug_option)
     DBUG_PUSH(debug_option);
diff --git a/ndb/src/mgmsrv/mkconfig/mkconfig.cpp b/ndb/src/mgmsrv/mkconfig/mkconfig.cpp
index 3b2046d7b49988987ab298a0d94dcc02c471aaf0..28823aaa35e91234e8467da66cf4c41cb6064e25 100644
--- a/ndb/src/mgmsrv/mkconfig/mkconfig.cpp
+++ b/ndb/src/mgmsrv/mkconfig/mkconfig.cpp
@@ -32,6 +32,7 @@ void usage(const char * prg){
 NDB_COMMAND(mkconfig, 
 	    "mkconfig", "mkconfig", 
 	    "Make a binary configuration from a config file", 16384){ 
+  ndb_init();
   if(argc < 3){
     usage(argv[0]);
     return 0;
diff --git a/ndb/src/ndbapi/Ndbinit.cpp b/ndb/src/ndbapi/Ndbinit.cpp
index 8e3bf69c7f5ac97498feaf89b828ada7161342cb..885c6e49edaf397b4011fea7a421f7217689bb1d 100644
--- a/ndb/src/ndbapi/Ndbinit.cpp
+++ b/ndb/src/ndbapi/Ndbinit.cpp
@@ -62,7 +62,6 @@ Ndb::Ndb( const char* aDataBase , const char* aSchema) {
     abort(); // old and new Ndb constructor used mixed
   theNoOfNdbObjects++;
   if (global_ndb_cluster_connection == 0) {
-    my_init();
     global_ndb_cluster_connection= new Ndb_cluster_connection(ndbConnectString);
     global_ndb_cluster_connection->connect();
   }
diff --git a/ndb/test/ndbapi/acid.cpp b/ndb/test/ndbapi/acid.cpp
index 157b3c7b3efef9ab866c44d325ff3b43b6cb851b..3eb1625be26da0f6b590f2e9662beae21408444e 100644
--- a/ndb/test/ndbapi/acid.cpp
+++ b/ndb/test/ndbapi/acid.cpp
@@ -434,6 +434,7 @@ extern "C" void* NdbThreadFuncRead(void* pArg)
 
 NDB_COMMAND(acid, "acid", "acid", "acid", 65535)
 {
+  ndb_init();
   long nSeconds = 60;
   int rc = NDBT_OK;
 
diff --git a/ndb/test/ndbapi/acid2.cpp b/ndb/test/ndbapi/acid2.cpp
index 434a0450daa2b61c9aba319e07c0781e82850535..7bd7ec00ac5d04b7da79301535c62bb3466bc84e 100644
--- a/ndb/test/ndbapi/acid2.cpp
+++ b/ndb/test/ndbapi/acid2.cpp
@@ -610,6 +610,7 @@ extern "C" void* ThreadFunc(void*)
 
 int main(int argc, char* argv[])
 {
+    ndb_init();
     Uint32 nSeconds = 1;
     Uint32 nThread = 1;
 
diff --git a/ndb/test/ndbapi/bank/bankCreator.cpp b/ndb/test/ndbapi/bank/bankCreator.cpp
index 5331ec6ba693ed7fbc46c32a76b48263d78522ac..301d8bda6d2e183f0c04feb3226e8aefd638cf0a 100644
--- a/ndb/test/ndbapi/bank/bankCreator.cpp
+++ b/ndb/test/ndbapi/bank/bankCreator.cpp
@@ -27,6 +27,7 @@
  
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _help = 0;
   
   struct getargs args[] = {
diff --git a/ndb/test/ndbapi/bank/bankMakeGL.cpp b/ndb/test/ndbapi/bank/bankMakeGL.cpp
index 54bc559fbf9a3f6846c8f25dc4ccd4cfa2a4405d..9e2762ed8ae1ffb0b2eb033a670828d71ca3b668 100644
--- a/ndb/test/ndbapi/bank/bankMakeGL.cpp
+++ b/ndb/test/ndbapi/bank/bankMakeGL.cpp
@@ -27,6 +27,7 @@
  
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _help = 0;
   
   struct getargs args[] = {
diff --git a/ndb/test/ndbapi/bank/bankSumAccounts.cpp b/ndb/test/ndbapi/bank/bankSumAccounts.cpp
index c0a903f90343f184afdc6c561fb4061f693becf2..b576161b27b6029e0cdcb94ddfedc22709bedfbe 100644
--- a/ndb/test/ndbapi/bank/bankSumAccounts.cpp
+++ b/ndb/test/ndbapi/bank/bankSumAccounts.cpp
@@ -27,6 +27,7 @@
  
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _help = 0;
   
   struct getargs args[] = {
diff --git a/ndb/test/ndbapi/bank/bankTimer.cpp b/ndb/test/ndbapi/bank/bankTimer.cpp
index ba3165fccb44d8fd995ae4f9272f9882c5f2c378..874afd9c21e9c96797fc707855812550407b9898 100644
--- a/ndb/test/ndbapi/bank/bankTimer.cpp
+++ b/ndb/test/ndbapi/bank/bankTimer.cpp
@@ -28,6 +28,7 @@
  
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _help = 0;
   int _wait = 30;
   
diff --git a/ndb/test/ndbapi/bank/bankTransactionMaker.cpp b/ndb/test/ndbapi/bank/bankTransactionMaker.cpp
index fe9b53e0c8d98d0f6877c65751ebef6813b95936..e5ff9aeb918579757b3b0d5ec2bc837e433dcc44 100644
--- a/ndb/test/ndbapi/bank/bankTransactionMaker.cpp
+++ b/ndb/test/ndbapi/bank/bankTransactionMaker.cpp
@@ -28,6 +28,7 @@
  
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _help = 0;
   int _wait = 20;
   
diff --git a/ndb/test/ndbapi/bank/bankValidateAllGLs.cpp b/ndb/test/ndbapi/bank/bankValidateAllGLs.cpp
index f9d974bb5f746420024b03f2fbb2bfe2c314399c..cf298ecc8e37019e740a64354d52ff41947238be 100644
--- a/ndb/test/ndbapi/bank/bankValidateAllGLs.cpp
+++ b/ndb/test/ndbapi/bank/bankValidateAllGLs.cpp
@@ -28,6 +28,7 @@
  
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _help = 0;
   
   struct getargs args[] = {
diff --git a/ndb/test/ndbapi/bank/testBank.cpp b/ndb/test/ndbapi/bank/testBank.cpp
index 77ac1172d7ca8eff8bbc83fa243efc1c5afd5aa9..3ef2799cd3c054ba432f5ba41395521ebf5488fc 100644
--- a/ndb/test/ndbapi/bank/testBank.cpp
+++ b/ndb/test/ndbapi/bank/testBank.cpp
@@ -141,6 +141,7 @@ TESTCASE("Bank",
 NDBT_TESTSUITE_END(testBank);
 
 int main(int argc, const char** argv){
+  ndb_init();
   // Tables should not be auto created
   testBank.setCreateTable(false);
 
diff --git a/ndb/test/ndbapi/benchronja.cpp b/ndb/test/ndbapi/benchronja.cpp
index ce0aee35e8f6acd14eba124d2ea52d0cbe128fff..91b2a041186d30c831424919f6dbee3007d734fd 100644
--- a/ndb/test/ndbapi/benchronja.cpp
+++ b/ndb/test/ndbapi/benchronja.cpp
@@ -66,6 +66,7 @@ static int ThreadReady[MAXTHREADS];
 static int ThreadStart[MAXTHREADS];
 
 NDB_COMMAND(benchronja, "benchronja", "benchronja", "benchronja", 65535){
+  ndb_init();
 
   ThreadNdb		tabThread[MAXTHREADS];
   int			i = 0 ;
diff --git a/ndb/test/ndbapi/bulk_copy.cpp b/ndb/test/ndbapi/bulk_copy.cpp
index 18881cae2161f64ed722c83954ddf5746a2130f9..8821a92fb2779a10f6a69b0baecc15154b1e0b8b 100644
--- a/ndb/test/ndbapi/bulk_copy.cpp
+++ b/ndb/test/ndbapi/bulk_copy.cpp
@@ -221,6 +221,7 @@ int insertFile(Ndb* pNdb,
 
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _tabname = NULL;
   int _help = 0;
diff --git a/ndb/test/ndbapi/cdrserver.cpp b/ndb/test/ndbapi/cdrserver.cpp
index 8354d28f53f1456eb0c1a4ede59ead365ed1d9a3..8d15061e94b9ab4477e6c6ef4b01954b763a4214 100644
--- a/ndb/test/ndbapi/cdrserver.cpp
+++ b/ndb/test/ndbapi/cdrserver.cpp
@@ -113,6 +113,7 @@ using namespace std;
 
 int main(int argc, const char** argv)
 {
+  ndb_init();
         /******** NDB ***********/
 	/*
         Ndb                   MyNdb( "TEST_DB" );
diff --git a/ndb/test/ndbapi/celloDb.cpp b/ndb/test/ndbapi/celloDb.cpp
index ec61e783585c3874c4227995cbed27b69be88a8d..2d6401c355ac521652ccf77161ae8cbe2e0dca9e 100644
--- a/ndb/test/ndbapi/celloDb.cpp
+++ b/ndb/test/ndbapi/celloDb.cpp
@@ -73,6 +73,7 @@ static int		    failed = 0 ;
 
 NDB_COMMAND(celloDb, "celloDb", "celloDb", "celloDb", 65535)
 {
+  ndb_init();
 
   int                   tTableId;
   int                   i;
diff --git a/ndb/test/ndbapi/create_all_tabs.cpp b/ndb/test/ndbapi/create_all_tabs.cpp
index 55d048881446ee9491203f8381f448d8d8c97e36..97236b98b36c4d75c42834c0569cca8a60ccc99f 100644
--- a/ndb/test/ndbapi/create_all_tabs.cpp
+++ b/ndb/test/ndbapi/create_all_tabs.cpp
@@ -25,6 +25,7 @@
 
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _temp = false;
   int _help = 0;
diff --git a/ndb/test/ndbapi/create_tab.cpp b/ndb/test/ndbapi/create_tab.cpp
index c2e3b7f64ea5fc041c90fc81529d20e4d7e06bff..f3f18982ed0c1c1fbfa2e1f48fc36bcfd2ce0cb1 100644
--- a/ndb/test/ndbapi/create_tab.cpp
+++ b/ndb/test/ndbapi/create_tab.cpp
@@ -25,6 +25,7 @@
 
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _temp = false;
   int _help = 0;
diff --git a/ndb/test/ndbapi/drop_all_tabs.cpp b/ndb/test/ndbapi/drop_all_tabs.cpp
index 59c57396acd94abee95853dd7b84d0a3c9bbbdf5..c024a81a5e677496abd5d67593a862fd28aaa2cf 100644
--- a/ndb/test/ndbapi/drop_all_tabs.cpp
+++ b/ndb/test/ndbapi/drop_all_tabs.cpp
@@ -23,6 +23,7 @@
 #include <getarg.h>
 
 int main(int argc, const char** argv){
+  ndb_init();
   
   int _help = 0;
   struct getargs args[] = {
diff --git a/ndb/test/ndbapi/flexAsynch.cpp b/ndb/test/ndbapi/flexAsynch.cpp
index 9192ec21b9376561dc6fdc2521c6f10cbb36b789..8c0ba46130cdcd7ba335a0af35f37463a7dcd61a 100644
--- a/ndb/test/ndbapi/flexAsynch.cpp
+++ b/ndb/test/ndbapi/flexAsynch.cpp
@@ -145,6 +145,7 @@ tellThreads(StartType what)
 
 NDB_COMMAND(flexAsynch, "flexAsynch", "flexAsynch", "flexAsynch", 65535)
 {
+  ndb_init();
   ThreadNdb*            pThreadData;
   int                   tLoops=0, i;
   int                   returnValue = NDBT_OK;
diff --git a/ndb/test/ndbapi/flexBench.cpp b/ndb/test/ndbapi/flexBench.cpp
index 38c8f6e280fddf799dde1f771eae80bddfee8326..b19944498f4ec6b3b2f74bb7bf3318dd5aa15f9f 100644
--- a/ndb/test/ndbapi/flexBench.cpp
+++ b/ndb/test/ndbapi/flexBench.cpp
@@ -281,6 +281,7 @@ tellThreads(ThreadData* pt, StartType what)
 
 NDB_COMMAND(flexBench, "flexBench", "flexBench", "flexbench", 65535)
 {
+  ndb_init();
   ThreadData*           pThreadsData;
   int                   tLoops = 0, i;
   int                   returnValue = NDBT_OK;
diff --git a/ndb/test/ndbapi/flexHammer.cpp b/ndb/test/ndbapi/flexHammer.cpp
index c1c47923de9e0568a37c782639da1154a63c2404..80cc7c5a53f1ad3bac54bb7d75bcb8768c7114f7 100644
--- a/ndb/test/ndbapi/flexHammer.cpp
+++ b/ndb/test/ndbapi/flexHammer.cpp
@@ -178,6 +178,7 @@ tellThreads(ThreadNdb* threadArrayP, const StartType what)
 NDB_COMMAND(flexHammer, "flexHammer", "flexHammer", "flexHammer", 65535)
 //main(int argc, const char** argv)
 {
+  ndb_init();
   ThreadNdb* pThreads = NULL; // Pointer to thread data array
   Ndb* pMyNdb = NULL;	      // Pointer to Ndb object
   int tLoops = 0;
diff --git a/ndb/test/ndbapi/flexScan.cpp b/ndb/test/ndbapi/flexScan.cpp
index 5b5b4dde7300644570078297ae178a5ee7395481..b09d71fb01053ee04b220582831a5bee20a0efa5 100644
--- a/ndb/test/ndbapi/flexScan.cpp
+++ b/ndb/test/ndbapi/flexScan.cpp
@@ -297,6 +297,7 @@ static int checkThreadResults(ThreadNdb *threadArrayP, char *action)
 
 NDB_COMMAND(flexScan, "flexScan", "flexScan", "flexScan", 65535)
 {
+  ndb_init();
   ThreadNdb*		pThreads = NULL;
   Ndb*			pMyNdb = NULL;	
   int                   tLoops = 0;
diff --git a/ndb/test/ndbapi/flexTT.cpp b/ndb/test/ndbapi/flexTT.cpp
index c0ff31d1677a75b71ca2731a3303733fddff0d77..162fc08021841d4615dce935eed52732abe39a3d 100644
--- a/ndb/test/ndbapi/flexTT.cpp
+++ b/ndb/test/ndbapi/flexTT.cpp
@@ -171,6 +171,7 @@ tellThreads(StartType what)
 
 NDB_COMMAND(flexTT, "flexTT", "flexTT", "flexTT", 65535)
 {
+  ndb_init();
   ThreadNdb*            pThreadData;
   int                   returnValue = NDBT_OK;
   int i;
diff --git a/ndb/test/ndbapi/flexTimedAsynch.cpp b/ndb/test/ndbapi/flexTimedAsynch.cpp
index 761be53fdd32cbf95380c8c960a598b9d15814a0..27380cc79fd7a714e6a99cdb870f6a3bae1c016c 100644
--- a/ndb/test/ndbapi/flexTimedAsynch.cpp
+++ b/ndb/test/ndbapi/flexTimedAsynch.cpp
@@ -174,6 +174,7 @@ void deleteAttributeSpace(){
 
 NDB_COMMAND(flexTimedAsynch, "flexTimedAsynch", "flexTimedAsynch [-tpoilcas]", "flexTimedAsynch", 65535)
 {
+  ndb_init();
   ThreadNdb		tabThread[MAXTHREADS];
   int                   tLoops=0;
   int                   returnValue;
diff --git a/ndb/test/ndbapi/flex_bench_mysql.cpp b/ndb/test/ndbapi/flex_bench_mysql.cpp
index 7cc883ab3e6a5f875cb5cd80171feb278ecf0ec7..8e1fbcd9058609fcda0fb6d9274384e4ffb8352a 100644
--- a/ndb/test/ndbapi/flex_bench_mysql.cpp
+++ b/ndb/test/ndbapi/flex_bench_mysql.cpp
@@ -308,6 +308,7 @@ tellThreads(ThreadData* pt, StartType what)
 
 NDB_COMMAND(flexBench, "flexBench", "flexBench", "flexbench", 65535)
 {
+  ndb_init();
   ThreadData*           pThreadsData;
   int                   tLoops = 0;
   int                   returnValue = NDBT_OK;
diff --git a/ndb/test/ndbapi/index.cpp b/ndb/test/ndbapi/index.cpp
index 508186de529fdedfd2b5527a73dad8d72b3d3b29..ed34fc19f438c96d6694f8bd6f5e4b9ea6d5508c 100644
--- a/ndb/test/ndbapi/index.cpp
+++ b/ndb/test/ndbapi/index.cpp
@@ -771,6 +771,7 @@ static void dropIndex(Ndb &myNdb, unsigned int noOfIndexes)
 
 NDB_COMMAND(indexTest, "indexTest", "indexTest", "indexTest", 65535)
 {
+  ndb_init();
   bool createTableOp, createIndexOp, dropIndexOp, insertOp, updateOp, deleteOp, readOp, readIndexOp, updateIndexOp, deleteIndexOp, twoKey, longKey;
   unsigned int noOfTuples = 1;
   unsigned int noOfOperations = 1;
diff --git a/ndb/test/ndbapi/index2.cpp b/ndb/test/ndbapi/index2.cpp
index e49113d2f1bad555cc18fc8a3cb6f4f9e8ba55e7..fb2275605d8555b52ab967668cf6098343173aec 100644
--- a/ndb/test/ndbapi/index2.cpp
+++ b/ndb/test/ndbapi/index2.cpp
@@ -608,6 +608,7 @@ static void dropIndex(Ndb &myNdb, unsigned int noOfIndexes)
 
 NDB_COMMAND(indexTest, "indexTest", "indexTest", "indexTest", 65535)
 {
+  ndb_init();
   bool createTableOp, createIndexOp, dropIndexOp, insertOp, updateOp, deleteOp, readOp, readIndexOp, updateIndexOp, deleteIndexOp, twoKey, longKey;
   unsigned int noOfTuples = 1;
   unsigned int noOfOperations = 1;
diff --git a/ndb/test/ndbapi/initronja.cpp b/ndb/test/ndbapi/initronja.cpp
index b321510482220cd1fa12b99c3661d467e664bd16..3ce274e43197dfc7eef8d3c8f7569d919b40836a 100644
--- a/ndb/test/ndbapi/initronja.cpp
+++ b/ndb/test/ndbapi/initronja.cpp
@@ -46,6 +46,7 @@ static char attrName[MAXATTR][MAXSTRLEN];
 inline int InsertRecords(Ndb*, int) ;
 
 NDB_COMMAND(initronja, "initronja", "initronja", "initronja", 65535){
+  ndb_init();
 
   Ndb*			 pNdb = NULL ;
   NdbSchemaCon	*MySchemaTransaction = NULL ;
diff --git a/ndb/test/ndbapi/interpreterInTup.cpp b/ndb/test/ndbapi/interpreterInTup.cpp
index 47960cd5d120dfd61bbe8e2119516828f40e7f2c..20d84e6e96d23e07e19adcbe79a9614f815cb944 100644
--- a/ndb/test/ndbapi/interpreterInTup.cpp
+++ b/ndb/test/ndbapi/interpreterInTup.cpp
@@ -105,6 +105,7 @@ int         bTestPassed = 0;
 
 
 int main(int argc, const char** argv) {
+  ndb_init();
 
   int operationType = 0;
   int tupTest = 0;
diff --git a/ndb/test/ndbapi/mainAsyncGenerator.cpp b/ndb/test/ndbapi/mainAsyncGenerator.cpp
index f613c66d07b5df537275b5c18d73fb8f74a85b5b..16cb50e160f10c2d9150f40a78a428877133fcbb 100644
--- a/ndb/test/ndbapi/mainAsyncGenerator.cpp
+++ b/ndb/test/ndbapi/mainAsyncGenerator.cpp
@@ -282,6 +282,7 @@ threadRoutine(void *arg)
 NDB_COMMAND(DbAsyncGenerator, "DbAsyncGenerator",
 	    "DbAsyncGenerator", "DbAsyncGenerator", 65535)
 {
+  ndb_init();
   int i;
   int j;
   int k;
diff --git a/ndb/test/ndbapi/msa.cpp b/ndb/test/ndbapi/msa.cpp
index 7a734f9cb793f69394979afd6fe67eae947c225e..e39f7a8c64a4c6d0093fa49e2e4b542916972b2c 100644
--- a/ndb/test/ndbapi/msa.cpp
+++ b/ndb/test/ndbapi/msa.cpp
@@ -971,6 +971,7 @@ void ShowHelp(const char* szCmd)
 
 int main(int argc, char* argv[])
 {
+    ndb_init();
     int iRes = -1;
     g_nNumThreads = 0;
     g_nMaxCallsPerSecond = 0;
diff --git a/ndb/test/ndbapi/restarter.cpp b/ndb/test/ndbapi/restarter.cpp
index 9a522f5dcac854d9b4d12fde71769fa3770ad2f1..d6831494b48650591f0d8eb6462786448cf4a787 100644
--- a/ndb/test/ndbapi/restarter.cpp
+++ b/ndb/test/ndbapi/restarter.cpp
@@ -28,6 +28,7 @@
 #include <NDBT.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _hostName = NULL;
   int _loops = 10;
diff --git a/ndb/test/ndbapi/restarter2.cpp b/ndb/test/ndbapi/restarter2.cpp
index f2bcf6f8e7bfef4f6e6179190f0cf381b7719192..846748a7bbaac99483deff8d8d3176a5c7584b99 100644
--- a/ndb/test/ndbapi/restarter2.cpp
+++ b/ndb/test/ndbapi/restarter2.cpp
@@ -26,6 +26,7 @@
 #include <NDBT.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _hostName = NULL;
   int _loops = 10;
diff --git a/ndb/test/ndbapi/restarts.cpp b/ndb/test/ndbapi/restarts.cpp
index 0ec2883d53c8ba1e2b44c9c0336be1a06ef8fdc3..184e754de4adc6196497dcb360499252d3abfb42 100644
--- a/ndb/test/ndbapi/restarts.cpp
+++ b/ndb/test/ndbapi/restarts.cpp
@@ -27,6 +27,7 @@
 #include <NDBT.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _restartName = NULL;
   int _loops = 1;
diff --git a/ndb/test/ndbapi/size.cpp b/ndb/test/ndbapi/size.cpp
index c506771ebde0eca15099ce2fa9ac958e03908d81..ff178b11d68b92937039c8496df9563d9c19e345 100644
--- a/ndb/test/ndbapi/size.cpp
+++ b/ndb/test/ndbapi/size.cpp
@@ -19,6 +19,7 @@
 
 int main(void)
 {
+        ndb_init();
 	printf("cdrstruct=%d\n",sizeof(struct cdr_record));
 	printf("long int=%d\n",sizeof(long int));
 	printf("int=%d\n",sizeof(int));
diff --git a/ndb/test/ndbapi/slow_select.cpp b/ndb/test/ndbapi/slow_select.cpp
index a953e1539d042a58d762110c916f3bec8bafcca0..625dbc344572e2998600874803844ad7ed3fc5a3 100644
--- a/ndb/test/ndbapi/slow_select.cpp
+++ b/ndb/test/ndbapi/slow_select.cpp
@@ -36,6 +36,7 @@ static void lookup();
 
 int
 main(void){
+  ndb_init();
   Ndb g_ndb("test");
   g_ndb.init(1024);
 
diff --git a/ndb/test/ndbapi/testBackup.cpp b/ndb/test/ndbapi/testBackup.cpp
index d328a7db292fc6d9f58aa9f9ef4d5f8b785d3972..a3fc0fdc5bfb1bba508aa0f85be475d79404627e 100644
--- a/ndb/test/ndbapi/testBackup.cpp
+++ b/ndb/test/ndbapi/testBackup.cpp
@@ -473,6 +473,7 @@ TESTCASE("FailSlave",
 NDBT_TESTSUITE_END(testBackup);
 
 int main(int argc, const char** argv){
+  ndb_init();
   return testBackup.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testBasic.cpp b/ndb/test/ndbapi/testBasic.cpp
index 26622f9b066a4466d0f3a35e410a42576711050b..7d03016b87ae94ba6e91b824aff66a9c211abe5f 100644
--- a/ndb/test/ndbapi/testBasic.cpp
+++ b/ndb/test/ndbapi/testBasic.cpp
@@ -1278,6 +1278,7 @@ TESTCASE("MassiveTransaction",
 NDBT_TESTSUITE_END(testBasic);
 
 int main(int argc, const char** argv){
+  ndb_init();
   return testBasic.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testBasicAsynch.cpp b/ndb/test/ndbapi/testBasicAsynch.cpp
index a97920e53da11467be3c2589a05902b183000086..6daa22fdc6aa581ce4ae9e8de00e32c5bec945ad 100644
--- a/ndb/test/ndbapi/testBasicAsynch.cpp
+++ b/ndb/test/ndbapi/testBasicAsynch.cpp
@@ -181,6 +181,7 @@ TESTCASE("PkDeleteAsynch",
 NDBT_TESTSUITE_END(testBasicAsynch);
 
 int main(int argc, const char** argv){
+  ndb_init();
   return testBasicAsynch.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testBlobs.cpp b/ndb/test/ndbapi/testBlobs.cpp
index 64881ca39abdd873218801f6ded883129c4d41a6..e18f4a8bd1ae8d88adc2f4d72901a97ccf0cc92a 100644
--- a/ndb/test/ndbapi/testBlobs.cpp
+++ b/ndb/test/ndbapi/testBlobs.cpp
@@ -1338,6 +1338,7 @@ static struct {
 
 NDB_COMMAND(testOdbcDriver, "testBlobs", "testBlobs", "testBlobs", 65535)
 {
+  ndb_init();
   while (++argv, --argc > 0) {
     const char* arg = argv[0];
     if (strcmp(arg, "-batch") == 0) {
diff --git a/ndb/test/ndbapi/testDataBuffers.cpp b/ndb/test/ndbapi/testDataBuffers.cpp
index 2e29dbb0d7b5f38cdbb448462e3004ef89030dfd..94658d5c6b921517ecd89fdec7ac96b6d098c27e 100644
--- a/ndb/test/ndbapi/testDataBuffers.cpp
+++ b/ndb/test/ndbapi/testDataBuffers.cpp
@@ -545,6 +545,7 @@ testcase(int flag)
 
 NDB_COMMAND(testDataBuffers, "testDataBuffers", "testDataBuffers", "testDataBuffers", 65535)
 {
+    ndb_init();
     while (++argv, --argc > 0) {
 	char const* p = argv[0];
 	if (*p++ != '-' || strlen(p) != 1)
diff --git a/ndb/test/ndbapi/testDeadlock.cpp b/ndb/test/ndbapi/testDeadlock.cpp
index f51b3cea1e5888f5429928ea3bb509a40980becc..a445823b8a84c3ac178315b8c689b53a66480adc 100644
--- a/ndb/test/ndbapi/testDeadlock.cpp
+++ b/ndb/test/ndbapi/testDeadlock.cpp
@@ -491,6 +491,7 @@ wl1822_main(char scantx)
 
 NDB_COMMAND(testOdbcDriver, "testDeadlock", "testDeadlock", "testDeadlock", 65535)
 {
+  ndb_init();
   while (++argv, --argc > 0) {
     const char* arg = argv[0];
     if (strcmp(arg, "-scan") == 0) {
diff --git a/ndb/test/ndbapi/testDict.cpp b/ndb/test/ndbapi/testDict.cpp
index a0c7bb1414b04602f8ac0273de5087e9ef9b4176..f4dd266414b2315a1008b3c4b696de0f7a282271 100644
--- a/ndb/test/ndbapi/testDict.cpp
+++ b/ndb/test/ndbapi/testDict.cpp
@@ -1576,6 +1576,7 @@ TESTCASE("DictionaryPerf",
 NDBT_TESTSUITE_END(testDict);
 
 int main(int argc, const char** argv){
+  ndb_init();
   // Tables should not be auto created
   testDict.setCreateTable(false);
   myRandom48Init(NdbTick_CurrentMillisecond());
diff --git a/ndb/test/ndbapi/testGrep.cpp b/ndb/test/ndbapi/testGrep.cpp
index 0bf84cb4ec8754b1fb86b6a754438cb29e306150..713aefbeafa1c17a5b8da9d7eefb3e6d310d4ca7 100644
--- a/ndb/test/ndbapi/testGrep.cpp
+++ b/ndb/test/ndbapi/testGrep.cpp
@@ -533,6 +533,7 @@ TESTCASE("FailSlave",
 NDBT_TESTSUITE_END(testGrep);
 
 int main(int argc, const char** argv){
+  ndb_init();
   return testGrep.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testGrepVerify.cpp b/ndb/test/ndbapi/testGrepVerify.cpp
index 05445c1ba1b8e4d27ad1bc6f68b78da63cb29489..52dcda9a162e198a087a8df2104da048c8f531d3 100644
--- a/ndb/test/ndbapi/testGrepVerify.cpp
+++ b/ndb/test/ndbapi/testGrepVerify.cpp
@@ -40,6 +40,7 @@
   continue; } 
 
 int main(int argc, const char** argv){
+  ndb_init();
 
 
   const char * connectString = NULL;
diff --git a/ndb/test/ndbapi/testIndex.cpp b/ndb/test/ndbapi/testIndex.cpp
index 6ebbfd8b680af1bb80a2701e3c75209ae148cb7d..bef3b310c96cf2bf2eb614b959fdafcda79c43df 100644
--- a/ndb/test/ndbapi/testIndex.cpp
+++ b/ndb/test/ndbapi/testIndex.cpp
@@ -1528,6 +1528,7 @@ TESTCASE("UniqueNull",
 NDBT_TESTSUITE_END(testIndex);
 
 int main(int argc, const char** argv){
+  ndb_init();
   return testIndex.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testInterpreter.cpp b/ndb/test/ndbapi/testInterpreter.cpp
index 9c584d6f581e6667e1157e884bf2ef337b5d1521..0baba33d2b2fc2f2b1c2069f2a29d1a007bf8deb 100644
--- a/ndb/test/ndbapi/testInterpreter.cpp
+++ b/ndb/test/ndbapi/testInterpreter.cpp
@@ -224,6 +224,7 @@ TESTCASE("NdbErrorOperation",
 NDBT_TESTSUITE_END(testInterpreter);
 
 int main(int argc, const char** argv){
+  ndb_init();
   //  TABLE("T1");
   return testInterpreter.execute(argc, argv);
 }
diff --git a/ndb/test/ndbapi/testMgm.cpp b/ndb/test/ndbapi/testMgm.cpp
index d5b9372cc9b666d3abcdea42356ecf2c1850971c..ef653d3f97252007b696d52b7de1fa291405bc32 100644
--- a/ndb/test/ndbapi/testMgm.cpp
+++ b/ndb/test/ndbapi/testMgm.cpp
@@ -178,6 +178,7 @@ TESTCASE("SingleUserMode",
 NDBT_TESTSUITE_END(testMgm);
 
 int main(int argc, const char** argv){
+  ndb_init();
   myRandom48Init(NdbTick_CurrentMillisecond());
   return testMgm.execute(argc, argv);
 }
diff --git a/ndb/test/ndbapi/testNdbApi.cpp b/ndb/test/ndbapi/testNdbApi.cpp
index 5b171d42578259f830f809215813294e5b838aa8..47987629fe3115dfed4fad9be354d496090d4a63 100644
--- a/ndb/test/ndbapi/testNdbApi.cpp
+++ b/ndb/test/ndbapi/testNdbApi.cpp
@@ -1006,6 +1006,7 @@ TESTCASE("NdbErrorOperation",
 NDBT_TESTSUITE_END(testNdbApi);
 
 int main(int argc, const char** argv){
+  ndb_init();
   //  TABLE("T1");
   return testNdbApi.execute(argc, argv);
 }
diff --git a/ndb/test/ndbapi/testNodeRestart.cpp b/ndb/test/ndbapi/testNodeRestart.cpp
index 89b38c78e7171420c4282188ea27497f93043f98..6bfe59f8d3f4967c850cc46a6be900c469778c85 100644
--- a/ndb/test/ndbapi/testNodeRestart.cpp
+++ b/ndb/test/ndbapi/testNodeRestart.cpp
@@ -434,6 +434,7 @@ TESTCASE("StopOnError",
 NDBT_TESTSUITE_END(testNodeRestart);
 
 int main(int argc, const char** argv){
+  ndb_init();
 #if 0
   // It might be interesting to have longer defaults for num
   // loops in this test
diff --git a/ndb/test/ndbapi/testOIBasic.cpp b/ndb/test/ndbapi/testOIBasic.cpp
index 29d03f0c33ef63af0f5121980aac1f3406813c81..1bb8b251d01ec60191424bfd8b6185637877937d 100644
--- a/ndb/test/ndbapi/testOIBasic.cpp
+++ b/ndb/test/ndbapi/testOIBasic.cpp
@@ -3201,6 +3201,7 @@ runtest(Par par)
 
 NDB_COMMAND(testOIBasic, "testOIBasic", "testOIBasic", "testOIBasic", 65535)
 {
+  ndb_init();
   while (++argv, --argc > 0) {
     const char* arg = argv[0];
     if (*arg != '-') {
diff --git a/ndb/test/ndbapi/testOperations.cpp b/ndb/test/ndbapi/testOperations.cpp
index bb58e69e8988b48a3fc4f00a7c28fe0dddd228ab..ba41e1d1c408615c927f3931c8d909af8ccd1524 100644
--- a/ndb/test/ndbapi/testOperations.cpp
+++ b/ndb/test/ndbapi/testOperations.cpp
@@ -230,6 +230,7 @@ runClearTable(NDBT_Context* ctx, NDBT_Step* step){
 
 int
 main(int argc, const char** argv){
+  ndb_init();
 
   NDBT_TestSuite ts("testOperations");
   for(Uint32 i = 0; i<sizeof(matrix)/sizeof(matrix[0]); i++){
diff --git a/ndb/test/ndbapi/testOrderedIndex.cpp b/ndb/test/ndbapi/testOrderedIndex.cpp
index 51cc53c997563e3cbe8159f95bfd7055a43d37dc..b3a75410646b1345de3792a7d3aa6a0b398818e0 100644
--- a/ndb/test/ndbapi/testOrderedIndex.cpp
+++ b/ndb/test/ndbapi/testOrderedIndex.cpp
@@ -218,6 +218,7 @@ NDBT_TESTSUITE_END(testOrderedIndex);
 int
 main(int argc, const char** argv)
 {
+  ndb_init();
   return testOrderedIndex.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testReadPerf.cpp b/ndb/test/ndbapi/testReadPerf.cpp
index 412661c4ff8b071bac04ba33208b85e697305e24..7cf3755d66f5ef415796bee274a4c286d7764529 100644
--- a/ndb/test/ndbapi/testReadPerf.cpp
+++ b/ndb/test/ndbapi/testReadPerf.cpp
@@ -91,6 +91,7 @@ void print_result();
 
 int
 main(int argc, const char** argv){
+  ndb_init();
   int verbose = 1;
   int optind = 0;
   
diff --git a/ndb/test/ndbapi/testRestartGci.cpp b/ndb/test/ndbapi/testRestartGci.cpp
index 54d38654ff2f190c6da3c1d61f4c8875387c7b4e..4cdfca29e6f45ab312b41e3e0b5c7f689f4c1295 100644
--- a/ndb/test/ndbapi/testRestartGci.cpp
+++ b/ndb/test/ndbapi/testRestartGci.cpp
@@ -214,6 +214,7 @@ TESTCASE("InsertRestartGci",
 NDBT_TESTSUITE_END(testRestartGci);
 
 int main(int argc, const char** argv){
+  ndb_init();
   return testRestartGci.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testScan.cpp b/ndb/test/ndbapi/testScan.cpp
index 3d8b37df0ca3b358e8ee63c9c51bde0c92902d2f..0cd30dfefde6659515b505d25f8927fc9b16dc5c 100644
--- a/ndb/test/ndbapi/testScan.cpp
+++ b/ndb/test/ndbapi/testScan.cpp
@@ -1400,6 +1400,7 @@ TESTCASE("ScanRestart",
 NDBT_TESTSUITE_END(testScan);
 
 int main(int argc, const char** argv){
+  ndb_init();
   myRandom48Init(NdbTick_CurrentMillisecond());
   return testScan.execute(argc, argv);
 }
diff --git a/ndb/test/ndbapi/testScanInterpreter.cpp b/ndb/test/ndbapi/testScanInterpreter.cpp
index 3b5baf954e09409ab6e01e81611991836653c310..3a5ef22b613ba6fa999616f6dce3172e30de33f6 100644
--- a/ndb/test/ndbapi/testScanInterpreter.cpp
+++ b/ndb/test/ndbapi/testScanInterpreter.cpp
@@ -273,6 +273,7 @@ TESTCASE("ScanLessThanLoop",
 NDBT_TESTSUITE_END(testScanInterpreter);
 
 int main(int argc, const char** argv){
+  ndb_init();
   return testScanInterpreter.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testScanPerf.cpp b/ndb/test/ndbapi/testScanPerf.cpp
index 829ba5a0f15c002c7153aff7d7d217757e3ef44b..8c1a41047ca289c57d4211f349025da3095ec1af 100644
--- a/ndb/test/ndbapi/testScanPerf.cpp
+++ b/ndb/test/ndbapi/testScanPerf.cpp
@@ -72,6 +72,7 @@ int drop_table();
 
 int
 main(int argc, const char** argv){
+  ndb_init();
   int verbose = 1;
   int optind = 0;
 
diff --git a/ndb/test/ndbapi/testSystemRestart.cpp b/ndb/test/ndbapi/testSystemRestart.cpp
index 61e086ff9416643b849738db6400409ee58323a1..68e5eacc631cfc3f38e353e5e640cb6a9f77722f 100644
--- a/ndb/test/ndbapi/testSystemRestart.cpp
+++ b/ndb/test/ndbapi/testSystemRestart.cpp
@@ -1179,6 +1179,7 @@ TESTCASE("SR8",
 NDBT_TESTSUITE_END(testSystemRestart);
 
 int main(int argc, const char** argv){
+  ndb_init();
   return testSystemRestart.execute(argc, argv);
 }
 
diff --git a/ndb/test/ndbapi/testTimeout.cpp b/ndb/test/ndbapi/testTimeout.cpp
index 62e6912507383613a006a2d41acd0674e467e4e1..5cabb86541d0e59336665440a234dff4aac1d693 100644
--- a/ndb/test/ndbapi/testTimeout.cpp
+++ b/ndb/test/ndbapi/testTimeout.cpp
@@ -406,6 +406,7 @@ TESTCASE("BuddyTransNoTimeout5",
 NDBT_TESTSUITE_END(testTimeout);
 
 int main(int argc, const char** argv){
+  ndb_init();
   myRandom48Init(NdbTick_CurrentMillisecond());
   return testTimeout.execute(argc, argv);
 }
diff --git a/ndb/test/ndbapi/testTransactions.cpp b/ndb/test/ndbapi/testTransactions.cpp
index 67a2df24390b465e8129c787c4023c65e1727231..2dca9e24fb4f685813aabb7d81f73c389132f2ee 100644
--- a/ndb/test/ndbapi/testTransactions.cpp
+++ b/ndb/test/ndbapi/testTransactions.cpp
@@ -364,6 +364,7 @@ runClearTable(NDBT_Context* ctx, NDBT_Step* step){
 
 int
 main(int argc, const char** argv){
+  ndb_init();
 
   NDBT_TestSuite ts("testOperations");
   for(Uint32 i = 0; i<sizeof(matrix)/sizeof(matrix[0]); i++){
diff --git a/ndb/test/ndbapi/test_event.cpp b/ndb/test/ndbapi/test_event.cpp
index 40fc1c6defa1b3e61455cac9f589541a7b6a6b22..cb2793e42b9584a380e6abd6113a8e3c797efdea 100644
--- a/ndb/test/ndbapi/test_event.cpp
+++ b/ndb/test/ndbapi/test_event.cpp
@@ -137,6 +137,7 @@ NDBT_TESTSUITE_END(test_event);
 #endif
 
 int main(int argc, const char** argv){
+  ndb_init();
   return test_event.execute(argc, argv);
 }
 
diff --git a/ndb/test/run-test/main.cpp b/ndb/test/run-test/main.cpp
index 653e16e0947548605b04886867e26d0b0af340b9..22799a9a1b2d381cd9fd5bb732fa204cb8673f2b 100644
--- a/ndb/test/run-test/main.cpp
+++ b/ndb/test/run-test/main.cpp
@@ -79,6 +79,7 @@ const int arg_count = 10;
 
 int
 main(int argc, const char ** argv){
+  ndb_init();
   
   bool restart = true;
   int lineno = 1;
diff --git a/ndb/test/src/NDBT_Test.cpp b/ndb/test/src/NDBT_Test.cpp
index 7ccc9e5588fa6b78008ba176c626edaf6a37f971..851c9e6c80a36ed5de9942541ebcae571cd1910d 100644
--- a/ndb/test/src/NDBT_Test.cpp
+++ b/ndb/test/src/NDBT_Test.cpp
@@ -985,7 +985,6 @@ int NDBT_TestSuite::execute(int argc, const char** argv){
   }
 
 #ifndef DBUG_OFF
-  my_init();
   if (debug_option)
     DBUG_PUSH(debug_option);
 #endif
diff --git a/ndb/test/tools/copy_tab.cpp b/ndb/test/tools/copy_tab.cpp
index 33ce8e01d9abf9408d6e22f442699911e1b0d2bf..30141acaa787dd23ba2cbfb910007aa8f161c7cb 100644
--- a/ndb/test/tools/copy_tab.cpp
+++ b/ndb/test/tools/copy_tab.cpp
@@ -24,6 +24,7 @@
 #include <getarg.h>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _tabname = NULL;
   const char* _to_tabname = NULL;
diff --git a/ndb/test/tools/cpcc.cpp b/ndb/test/tools/cpcc.cpp
index e30d458ffee1bb0dcd18d5a583c3b13f7ff73f7a..dd59e577f2c407eb0971c8f02758bb7db78eb557 100644
--- a/ndb/test/tools/cpcc.cpp
+++ b/ndb/test/tools/cpcc.cpp
@@ -173,6 +173,7 @@ add_hosts(Vector<SimpleCpcClient*> & hosts, BaseString list){
 
 int 
 main(int argc, const char** argv){
+  ndb_init();
   int help = 0;
   const char *cmd=0, *name=0, *group=0, *owner=0;
   int list = 0, start = 0, stop = 0, rm = 0;
diff --git a/ndb/test/tools/create_index.cpp b/ndb/test/tools/create_index.cpp
index f883755ea2489072beabb90d503ff21204759cd6..75a657522f6193c0b2c00cb17e00a697d4d0775a 100644
--- a/ndb/test/tools/create_index.cpp
+++ b/ndb/test/tools/create_index.cpp
@@ -26,6 +26,7 @@
 
 int 
 main(int argc, const char** argv){
+  ndb_init();
 
   const char* _dbname = "TEST_DB";
   int _help = 0;
diff --git a/ndb/test/tools/hugoCalculator.cpp b/ndb/test/tools/hugoCalculator.cpp
index 7f2751be2baf0bf13b8bad2e8945281125b6d1ea..82c4bbff1a4c0655005efd65cad05db8e3879517 100644
--- a/ndb/test/tools/hugoCalculator.cpp
+++ b/ndb/test/tools/hugoCalculator.cpp
@@ -28,6 +28,7 @@
 
 int main(int argc, const char** argv)
 {
+  ndb_init();
   int _row = 0;
   int _column = 0;
   int _updates = 0;
diff --git a/ndb/test/tools/hugoFill.cpp b/ndb/test/tools/hugoFill.cpp
index dee6ce2e6c89914ed3abb64a2386a56702842d67..6253bd1bb12530bd73e32522448ca86bfd25fac3 100644
--- a/ndb/test/tools/hugoFill.cpp
+++ b/ndb/test/tools/hugoFill.cpp
@@ -25,6 +25,7 @@
 
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _records = 0;
   const char* _tabname = NULL;
diff --git a/ndb/test/tools/hugoLoad.cpp b/ndb/test/tools/hugoLoad.cpp
index be7f878d10634ea880973c745372b424190cd549..c697ad22aad4bbbe9f106dcfc3ec087e2dcb9385 100644
--- a/ndb/test/tools/hugoLoad.cpp
+++ b/ndb/test/tools/hugoLoad.cpp
@@ -24,6 +24,7 @@
 
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _records = 0;
   const char* _tabname = NULL;
diff --git a/ndb/test/tools/hugoLockRecords.cpp b/ndb/test/tools/hugoLockRecords.cpp
index e2c2cd13f00947f579ec4bd251d83629714a51c0..629408d401da7972d98789253304b0445f85753f 100644
--- a/ndb/test/tools/hugoLockRecords.cpp
+++ b/ndb/test/tools/hugoLockRecords.cpp
@@ -27,6 +27,7 @@
 #include <HugoTransactions.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _records = 0;
   int _loops = 1;
diff --git a/ndb/test/tools/hugoPkDelete.cpp b/ndb/test/tools/hugoPkDelete.cpp
index 1855f19796f404410b0dbd6ef2edc87fc3fd5faa..78a90ebcb4616f8558277a3a0b47ea986a224bae 100644
--- a/ndb/test/tools/hugoPkDelete.cpp
+++ b/ndb/test/tools/hugoPkDelete.cpp
@@ -27,6 +27,7 @@
 #include <HugoTransactions.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _records = 0;
   int _loops = 1;
diff --git a/ndb/test/tools/hugoPkRead.cpp b/ndb/test/tools/hugoPkRead.cpp
index 50351f08195ad1e26652f58a1fa7fdc5303f641c..cf08b137e8e173aa904e2336a7449ff3b2e369e5 100644
--- a/ndb/test/tools/hugoPkRead.cpp
+++ b/ndb/test/tools/hugoPkRead.cpp
@@ -28,6 +28,7 @@
 
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _records = 0;
   int _loops = 1;
diff --git a/ndb/test/tools/hugoPkReadRecord.cpp b/ndb/test/tools/hugoPkReadRecord.cpp
index 85f20bd20600dd85062972bb2647343de03122ce..38b7cae2bf42c6f03258d184eace51547c3e6408 100644
--- a/ndb/test/tools/hugoPkReadRecord.cpp
+++ b/ndb/test/tools/hugoPkReadRecord.cpp
@@ -28,6 +28,7 @@
 
 int main(int argc, const char** argv)
 {
+  ndb_init();
   int _row = 0;
   int _hex = 0;
   int _primaryKey = 0;
diff --git a/ndb/test/tools/hugoPkUpdate.cpp b/ndb/test/tools/hugoPkUpdate.cpp
index e7edc3a991dea1b5e181cb4a5549a5b8a76da79d..286be14a01ce87348f1dee576b86d3131389508c 100644
--- a/ndb/test/tools/hugoPkUpdate.cpp
+++ b/ndb/test/tools/hugoPkUpdate.cpp
@@ -27,6 +27,7 @@
 #include <HugoTransactions.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _records = 0;
   int _loops = 1;
diff --git a/ndb/test/tools/hugoScanRead.cpp b/ndb/test/tools/hugoScanRead.cpp
index 47ea8f4a8a7c693718b212f124d32ee23ee1a281..cdfdcea46540f73020f5ab136488b4ed95f9bf56 100644
--- a/ndb/test/tools/hugoScanRead.cpp
+++ b/ndb/test/tools/hugoScanRead.cpp
@@ -27,6 +27,7 @@
 #include <HugoTransactions.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _records = 0;
   int _loops = 1;
diff --git a/ndb/test/tools/hugoScanUpdate.cpp b/ndb/test/tools/hugoScanUpdate.cpp
index 3e2255ca0f348abb6692c2064039dabb990b8fca..96a487a02bf7a3bbf2914fb48e28a71cdfa89abb 100644
--- a/ndb/test/tools/hugoScanUpdate.cpp
+++ b/ndb/test/tools/hugoScanUpdate.cpp
@@ -27,6 +27,7 @@
 #include <HugoTransactions.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   int _records = 0;
   int _loops = 1;
diff --git a/ndb/test/tools/restart.cpp b/ndb/test/tools/restart.cpp
index 88cfb231a7228358d6b57ac728968ed5646fee83..9ad20801fd7ccdb5d876166c5367c1ddbc544b35 100644
--- a/ndb/test/tools/restart.cpp
+++ b/ndb/test/tools/restart.cpp
@@ -27,6 +27,7 @@
 #include <NDBT.hpp>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _hostName = NULL;
   int _initial = 0;
diff --git a/ndb/test/tools/transproxy.cpp b/ndb/test/tools/transproxy.cpp
index 384a8a34f03062c5bb56c1838ca2ea33e2e37605..90e216ec7853df33f4a28c721487790ca50462b4 100644
--- a/ndb/test/tools/transproxy.cpp
+++ b/ndb/test/tools/transproxy.cpp
@@ -346,6 +346,7 @@ start()
 int
 main(int av, char** ac)
 {
+    ndb_init();
     debug("start");
     hostname = "ndb-srv7";
     if (Ndb_getInAddr(&hostaddr.sin_addr, hostname) != 0) {
diff --git a/ndb/test/tools/verify_index.cpp b/ndb/test/tools/verify_index.cpp
index 1295b657e9ba747ff93bbda3214808b839bca6f9..6c8e304e1a1714008165aa16a12dc07a4b79f52b 100644
--- a/ndb/test/tools/verify_index.cpp
+++ b/ndb/test/tools/verify_index.cpp
@@ -27,6 +27,7 @@
  
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _parallelism = 240;
   const char* _tabname = NULL;
   const char* _indexname = NULL;
diff --git a/ndb/tools/delete_all.cpp b/ndb/tools/delete_all.cpp
index 5110947c6a278a9e595fffa123a26ee745b74127..aa5798376aee4dbd2b6b0acf81753e5764f3058c 100644
--- a/ndb/tools/delete_all.cpp
+++ b/ndb/tools/delete_all.cpp
@@ -26,6 +26,7 @@
 static int clear_table(Ndb* pNdb, const NdbDictionary::Table* pTab, int parallelism=240);
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _tabname = NULL;
   const char* _dbname = "TEST_DB";
diff --git a/ndb/tools/desc.cpp b/ndb/tools/desc.cpp
index 859a9544a797769ec0fe1493bffed7fa9859fd10..0ab11a0fdd2c3c29073cef202f54410961730986 100644
--- a/ndb/tools/desc.cpp
+++ b/ndb/tools/desc.cpp
@@ -22,6 +22,7 @@
 
 
 int main(int argc, const char** argv){
+  ndb_init();
   const char* _tabname = NULL;
   const char* _dbname = "TEST_DB";
   int _unqualified = 0;
diff --git a/ndb/tools/drop_index.cpp b/ndb/tools/drop_index.cpp
index 327f15741c99eb9a0ee69bb89a14f3087c3bb2c1..70c29461c2305cdac3980de10ac69c58d6128afe 100644
--- a/ndb/tools/drop_index.cpp
+++ b/ndb/tools/drop_index.cpp
@@ -23,6 +23,7 @@
 #include <getarg.h>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _tabname = NULL;
   const char* _dbname = "TEST_DB";
diff --git a/ndb/tools/drop_tab.cpp b/ndb/tools/drop_tab.cpp
index 70e5d85aabe9cd566aeb3c3cc09e02c6dc8e1882..15c229cb0fbc5ddb28c7ef0f0e0e147f2f66b096 100644
--- a/ndb/tools/drop_tab.cpp
+++ b/ndb/tools/drop_tab.cpp
@@ -23,6 +23,7 @@
 #include <getarg.h>
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _tabname = NULL;
   const char* _dbname = "TEST_DB";
diff --git a/ndb/tools/listTables.cpp b/ndb/tools/listTables.cpp
index d6465f3214f5618c8e33e9f6963d436caca5c1a4..8cea9f7a5661f2c72daba4b5bb59564c434b59c4 100644
--- a/ndb/tools/listTables.cpp
+++ b/ndb/tools/listTables.cpp
@@ -167,6 +167,7 @@ const char *debug_option= 0;
 #endif
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _loops = 1;
   const char* _tabname = NULL;
   const char* _dbname = "TEST_DB";
@@ -209,7 +210,6 @@ int main(int argc, const char** argv){
   _tabname = argv[optind];
   
 #ifndef DBUG_OFF
-  my_init();
   if (debug_option)
     DBUG_PUSH(debug_option);
 #endif
diff --git a/ndb/tools/ndbsql.cpp b/ndb/tools/ndbsql.cpp
index 6af5f47f6f41828bf20e46983fdd1ab692c85680..1997e4abebd9c9a66fa3605942130602552e362a 100644
--- a/ndb/tools/ndbsql.cpp
+++ b/ndb/tools/ndbsql.cpp
@@ -671,6 +671,7 @@ void print_help_virtual() {
 
 int main(int argc, const char** argv)
 {
+  ndb_init();
   const char* usage = "Usage: ndbsql [-h] [-d dsn] [-f file] [stmt]\n-h help\n-d <database name or connect string>\n-f <file name> batch mode\nstmt single SQL statement\n";
   const char* dsn = "TEST_DB";
   bool helpFlg = false, batchMode = false;
diff --git a/ndb/tools/select_all.cpp b/ndb/tools/select_all.cpp
index eb95947fc0fd2762bed1fee9c489d5ff13b96e73..b6b9437e573d35c9cd2c9397deaf9d6981cf1eff 100644
--- a/ndb/tools/select_all.cpp
+++ b/ndb/tools/select_all.cpp
@@ -42,6 +42,7 @@ int scanReadRecords(Ndb*,
 		    bool orderby);
 
 int main(int argc, const char** argv){
+  ndb_init();
   int _parallelism = 240;
   const char* _delimiter = "\t";
   int _header = true;
@@ -89,7 +90,6 @@ int main(int argc, const char** argv){
   _tabname = argv[optind];
 
 #ifndef DBUG_OFF
-  my_init();
   if (debug_option)
     DBUG_PUSH(debug_option);
 #endif
diff --git a/ndb/tools/select_count.cpp b/ndb/tools/select_count.cpp
index bb7c9dea49b74e0d8a60559e11e46d01adf06e1f..6650421e637a9f4834b193f13117cf2611cbc097 100644
--- a/ndb/tools/select_count.cpp
+++ b/ndb/tools/select_count.cpp
@@ -33,6 +33,7 @@ select_count(Ndb* pNdb, const NdbDictionary::Table* pTab,
 	     UtilTransactions::ScanLock lock);
 
 int main(int argc, const char** argv){
+  ndb_init();
   const char* _dbname = "TEST_DB";
   int _parallelism = 240;
   int _help = 0;
diff --git a/ndb/tools/waiter.cpp b/ndb/tools/waiter.cpp
index 63469c6d74671d1cdca93c3b0d8eb439cf9ea878..c27b46c9356b6c15092351570d5e34fbc83f67cb 100644
--- a/ndb/tools/waiter.cpp
+++ b/ndb/tools/waiter.cpp
@@ -30,6 +30,7 @@ int
 waitClusterStatus(const char* _addr, ndb_mgm_node_status _status, unsigned int _timeout);
 
 int main(int argc, const char** argv){
+  ndb_init();
 
   const char* _hostName = NULL;
   int _no_contact = 0;