diff --git a/ndb/include/kernel/signaldata/UpgradeStartup.hpp b/ndb/include/kernel/signaldata/UpgradeStartup.hpp
index badc7ca0e4dcbfc89daaa3cb0978205b9429aa66..a4450221c591a6625b1046995891fce3b0935dcc 100644
--- a/ndb/include/kernel/signaldata/UpgradeStartup.hpp
+++ b/ndb/include/kernel/signaldata/UpgradeStartup.hpp
@@ -1,6 +1,8 @@
 #ifndef NDB_UPGRADE_STARTUP
 #define NDB_UPGRADE_STARTUP
 
+class Ndbcntr;
+
 struct UpgradeStartup {
 
   static void installEXEC(SimulatedBlock*);
diff --git a/ndb/include/ndb_global.h b/ndb/include/ndb_global.h
index 3ce37a2edee1f67e8129a71950e3c76af45376e9..c128323241a160026d4769f687f036722c333693 100644
--- a/ndb/include/ndb_global.h
+++ b/ndb/include/ndb_global.h
@@ -13,6 +13,9 @@
 #undef NDB_WIN32
 #endif
 
+#ifdef _AIX
+#undef _H_STRINGS
+#endif
 #include <m_string.h>
 #include <m_ctype.h>
 #include <ndb_types.h>
diff --git a/ndb/include/ndb_types.h b/ndb/include/ndb_types.h
index 87ebd3d6c6b3a878353181cb6cd41c71256300e1..a2988dbae7864e9498e6544c565bab63e44aac45 100644
--- a/ndb/include/ndb_types.h
+++ b/ndb/include/ndb_types.h
@@ -33,7 +33,7 @@ typedef unsigned int UintR;
 #ifdef __SIZE_TYPE__
 typedef __SIZE_TYPE__ UintPtr;
 #else
-#include <my_global.h>
+#include <ndb_global.h>
 #ifdef HAVE_STDINT_H
 #include <stdint.h>
 #endif
diff --git a/ndb/include/ndbapi/Ndb.hpp b/ndb/include/ndbapi/Ndb.hpp
index 134a48e1d6d2769a3de50fdb8a8d96ac77abce1e..5ec092696959a18ebb1abdb177f8c7409b16f5e0 100644
--- a/ndb/include/ndbapi/Ndb.hpp
+++ b/ndb/include/ndbapi/Ndb.hpp
@@ -881,6 +881,7 @@ class Table;
 class BaseString;
 class NdbEventOperation;
 class NdbBlob;
+class NdbReceiver;
 
 typedef void (* NdbEventCallback)(NdbEventOperation*, Ndb*, void*);
 
diff --git a/ndb/include/ndbapi/NdbReceiver.hpp b/ndb/include/ndbapi/NdbReceiver.hpp
index 6f577380728b629e82990978c0e54da11f301031..b95313db2742d6054a7d9e0e1e5a13e1fee9efdc 100644
--- a/ndb/include/ndbapi/NdbReceiver.hpp
+++ b/ndb/include/ndbapi/NdbReceiver.hpp
@@ -22,6 +22,8 @@
 #include <ndb_global.h>
 
 class Ndb;
+class NdbConnection;
+
 class NdbReceiver
 {
   friend class Ndb;
diff --git a/ndb/include/ndbapi/NdbScanOperation.hpp b/ndb/include/ndbapi/NdbScanOperation.hpp
index a1c66b380a74306aad975c1c8a8dd76d38be0668..2e4d173ac75c266d01aa7315c9236f702b7cdfff 100644
--- a/ndb/include/ndbapi/NdbScanOperation.hpp
+++ b/ndb/include/ndbapi/NdbScanOperation.hpp
@@ -32,6 +32,7 @@
 #include <NdbOperation.hpp>
 
 class NdbBlob;
+class NdbResultSet;
 
 /**
  * @class NdbScanOperation
diff --git a/ndb/src/common/util/ConfigValues.cpp b/ndb/src/common/util/ConfigValues.cpp
index 8a14882550cf8e2e0bbda43364f1f5efca343e6f..5c4b17c73ca8a568244415d7e2ccc716bc8a4320 100644
--- a/ndb/src/common/util/ConfigValues.cpp
+++ b/ndb/src/common/util/ConfigValues.cpp
@@ -1,9 +1,6 @@
+
+#include <ndb_global.h>
 #include <ConfigValues.hpp>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <new>
 #include <NdbOut.hpp>
 #include <NdbTCP.h>
 
diff --git a/ndb/src/kernel/blocks/backup/restore/Restore.hpp b/ndb/src/kernel/blocks/backup/restore/Restore.hpp
index 8ca68fd9b23014449c480e1843e383141d17c7be..0ec1ab852e9f541351556b677b2c5b0b74c7bd14 100644
--- a/ndb/src/kernel/blocks/backup/restore/Restore.hpp
+++ b/ndb/src/kernel/blocks/backup/restore/Restore.hpp
@@ -91,7 +91,7 @@ class TupleS {
 private:
   friend class RestoreDataIterator;
   
-  TableS *m_currentTable;
+  class TableS *m_currentTable;
   AttributeData *allAttrData;
   bool prepareRecord(TableS &);
   
diff --git a/ndb/src/kernel/blocks/dbtup/Dbtup.hpp b/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
index 0e8dd5fbbe890b1b3c7c8c4a1d7908b59716ea69..55ad1d0910a5a6d3cb7b8e3e2c58e88238471dac 100644
--- a/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
+++ b/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
@@ -35,14 +35,6 @@
 #define ZMIN_PAGE_LIMIT_TUPKEYREQ 5
 #define ZTUP_VERSION_BITS 15
 
-typedef bool (Dbtup::* ReadFunction)(Uint32*,
-                                     AttributeHeader*,
-                                     Uint32,
-                                     Uint32);
-typedef bool (Dbtup::* UpdateFunction)(Uint32*,
-                                       Uint32,
-                                       Uint32);
-
 #ifdef DBTUP_C
 //------------------------------------------------------------------
 // Jam Handling:
@@ -351,6 +343,14 @@ typedef bool (Dbtup::* UpdateFunction)(Uint32*,
 
 class Dbtup: public SimulatedBlock {
 public:
+
+  typedef bool (Dbtup::* ReadFunction)(Uint32*,
+                                       AttributeHeader*,
+                                       Uint32,
+                                       Uint32);
+  typedef bool (Dbtup::* UpdateFunction)(Uint32*,
+                                         Uint32,
+                                         Uint32);
 // State values
 enum State {
   NOT_INITIALIZED = 0,
diff --git a/ndb/src/mgmsrv/SignalQueue.cpp b/ndb/src/mgmsrv/SignalQueue.cpp
index 7003f5c0a8976836322170e5dc0b1b35b4daed82..08ad5f363a6a7a555f76816c96948ab68e705d71 100644
--- a/ndb/src/mgmsrv/SignalQueue.cpp
+++ b/ndb/src/mgmsrv/SignalQueue.cpp
@@ -14,8 +14,7 @@
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
-#include <string.h>
-
+#include <ndb_global.h>
 #include "SignalQueue.hpp"
 
 SignalQueue::SignalQueue() {
diff --git a/ndb/tools/waiter.cpp b/ndb/tools/waiter.cpp
index c27b46c9356b6c15092351570d5e34fbc83f67cb..6dcea6ccc4853ffce40e816de15c7ba61a7b01a7 100644
--- a/ndb/tools/waiter.cpp
+++ b/ndb/tools/waiter.cpp
@@ -15,8 +15,8 @@
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
 
+#include <ndb_global.h>
 #include <mgmapi.h>
-#include <string.h>
 #include <NdbMain.h>
 #include <NdbOut.hpp>
 #include <NdbSleep.h>