diff --git a/ndb/include/kernel/ndb_limits.h b/ndb/include/kernel/ndb_limits.h
index 48a56c019bbeea01e766474cb71d7cd0cd50e198..b16c8250b0d72f298c0b93e353c014ddc05907df 100644
--- a/ndb/include/kernel/ndb_limits.h
+++ b/ndb/include/kernel/ndb_limits.h
@@ -62,6 +62,8 @@
 #define MAX_KEY_SIZE_IN_WORDS 1023
 #define MAX_FRM_DATA_SIZE 6000
 
+#define MAX_WORDS_META_FILE 24576
+
 #define MIN_ATTRBUF ((MAX_ATTRIBUTES_IN_TABLE/24) + 1)
 /*
  * Max Number of Records to fetch per SCAN_NEXTREQ in a scan in LQH. The
diff --git a/ndb/src/kernel/blocks/backup/Backup.cpp b/ndb/src/kernel/blocks/backup/Backup.cpp
index b23b434fcd99cb501f84fe6f539f94a9fa651656..41dcc79cd66108154ad2418baa36baf0b8270534 100644
--- a/ndb/src/kernel/blocks/backup/Backup.cpp
+++ b/ndb/src/kernel/blocks/backup/Backup.cpp
@@ -2323,9 +2323,8 @@ Backup::execDEFINE_BACKUP_REQ(Signal* signal)
     0    // 3M
   };
   const Uint32 maxInsert[] = {
-    2048,  // Temporarily to solve TR515
-    //25,      // 100 bytes
-    4096,    // 4k
+    MAX_WORDS_META_FILE,
+    4096,    // 16k
     16*3000, // Max 16 tuples
   };
   Uint32 minWrite[] = {
diff --git a/ndb/src/kernel/blocks/backup/Backup.hpp b/ndb/src/kernel/blocks/backup/Backup.hpp
index f3d180b9467d2b236b8628bde3f9d8e6b497cd1a..9535ff839644c79faa3ce4298c14c6547973fd8a 100644
--- a/ndb/src/kernel/blocks/backup/Backup.hpp
+++ b/ndb/src/kernel/blocks/backup/Backup.hpp
@@ -513,8 +513,10 @@ public:
   Config c_defaults;
   Uint32 m_diskless;
 
-  STATIC_CONST(NO_OF_PAGES_META_FILE = 2);
-
+  STATIC_CONST(NO_OF_PAGES_META_FILE = 
+	       (MAX_WORDS_META_FILE + BACKUP_WORDS_PER_PAGE - 1) / 
+	       BACKUP_WORDS_PER_PAGE);
+  
   /**
    * Pools
    */