diff --git a/mysql-test/r/ndb_dd_ddl.result b/mysql-test/r/ndb_dd_ddl.result
index 4f3354b18594ee7239da908716375541516dce1e..f406230a354aff5e2c0e71fb748e0b0ca3402b96 100644
--- a/mysql-test/r/ndb_dd_ddl.result
+++ b/mysql-test/r/ndb_dd_ddl.result
@@ -7,6 +7,16 @@ ADD UNDOFILE 'undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;
+CREATE LOGFILE GROUP lg2
+ADD UNDOFILE 'undofile2.dat'
+INITIAL_SIZE 16M
+UNDO_BUFFER_SIZE 1M
+ENGINE NDB;
+ERROR HY000: Failed to create LOGFILE GROUP
+SHOW WARNINGS;
+Level	Code	Message
+Error	1296	Got error 1514 'Currently there is a limit of one logfile group' from NDB
+Error	1506	Failed to create LOGFILE GROUP
 CREATE LOGFILE GROUP lg1
 ADD UNDOFILE 'undofile.dat'
 INITIAL_SIZE 16M
diff --git a/mysql-test/r/ndb_dd_dump.result b/mysql-test/r/ndb_dd_dump.result
index d3c1cba8d5e683453dd55675af251326aa565996..6572f0228d0c28972fad6b487d0c4a98e10cc574 100644
--- a/mysql-test/r/ndb_dd_dump.result
+++ b/mysql-test/r/ndb_dd_dump.result
@@ -8,15 +8,6 @@ ALTER LOGFILE GROUP lg1
 ADD UNDOFILE 'undofile_lg1_02.dat'
 INITIAL_SIZE = 4M 
 ENGINE NDB;
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'undofile_lg2_01.dat'
-UNDO_BUFFER_SIZE = 1M
-INITIAL_SIZE 2M
-ENGINE NDB;
-ALTER LOGFILE GROUP lg2
-ADD UNDOFILE 'undofile_lg2_02.dat'
-INITIAL_SIZE = 4M 
-ENGINE NDB;
 CREATE TABLESPACE ts1
 ADD DATAFILE 'datafile_ts1_01.dat'
 USE LOGFILE GROUP lg1
@@ -34,7 +25,7 @@ INITIAL_SIZE 2M
 ENGINE NDB;
 CREATE TABLESPACE ts3
 ADD DATAFILE 'datafile_ts3_01.dat'
-USE LOGFILE GROUP lg2
+USE LOGFILE GROUP lg1
 INITIAL_SIZE 4M
 ENGINE NDB;
 CREATE TABLE t1
@@ -173,7 +164,6 @@ DROP TABLESPACE ts1 ENGINE = NDB;
 DROP TABLESPACE ts2 ENGINE = NDB;
 DROP TABLESPACE ts3 ENGINE = NDB;
 DROP LOGFILE GROUP lg1 ENGINE = NDB;
-DROP LOGFILE GROUP lg2 ENGINE = NDB;
 SELECT DISTINCT
 LOGFILE_GROUP_NAME,
 FILE_NAME,
@@ -184,8 +174,6 @@ FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE="UNDO LOG" ORDER BY FILE_NAME;
 LOGFILE_GROUP_NAME	FILE_NAME	TOTAL_EXTENTS	INITIAL_SIZE	ENGINE
 lg1	undofile_lg1_01.dat	1048576	2097152	ndbcluster
 lg1	undofile_lg1_02.dat	1048576	4194304	ndbcluster
-lg2	undofile_lg2_01.dat	1048576	2097152	ndbcluster
-lg2	undofile_lg2_02.dat	1048576	4194304	ndbcluster
 SELECT DISTINCT
 TABLESPACE_NAME,
 LOGFILE_GROUP_NAME, 
@@ -198,7 +186,7 @@ TABLESPACE_NAME	LOGFILE_GROUP_NAME	FILE_NAME	EXTENT_SIZE	INITIAL_SIZE	ENGINE
 ts1	lg1	datafile_ts1_01.dat	1048576	2097152	ndbcluster
 ts1	lg1	datafile_ts1_02.dat	1048576	1048576	ndbcluster
 ts2	lg1	datafile_ts2_01.dat	1048576	2097152	ndbcluster
-ts3	lg2	datafile_ts3_01.dat	1048576	4194304	ndbcluster
+ts3	lg1	datafile_ts3_01.dat	1048576	4194304	ndbcluster
 SELECT COUNT(*) FROM t1;
 COUNT(*)
 500
@@ -227,4 +215,3 @@ DROP TABLESPACE ts1 ENGINE = NDB;
 DROP TABLESPACE ts2 ENGINE = NDB;
 DROP TABLESPACE ts3 ENGINE = NDB;
 DROP LOGFILE GROUP lg1 ENGINE = NDB;
-DROP LOGFILE GROUP lg2 ENGINE = NDB;
diff --git a/mysql-test/t/ndb_dd_ddl.test b/mysql-test/t/ndb_dd_ddl.test
index ff1532ec1de94a582ba961ba535add1920bbd938..339f7bc2f2286ae7131919e54d08fef68da52d2c 100644
--- a/mysql-test/t/ndb_dd_ddl.test
+++ b/mysql-test/t/ndb_dd_ddl.test
@@ -20,7 +20,10 @@
 #       the file name. I know this is not an issue for *nix systems but
 #       will be when we expand to Windows and Mac. Better put it in now.
 ############################################
-
+#
+# Jonas 2006-03-10
+# Add verification that ndb currently is limited to 1 logfile group
+#
 
 
 -- source include/have_ndb.inc
@@ -41,6 +44,15 @@ INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;
 
+# Verify that one currently can create only 1 logfile group
+--error ER_CREATE_FILEGROUP_FAILED
+CREATE LOGFILE GROUP lg2
+ADD UNDOFILE 'undofile2.dat'
+INITIAL_SIZE 16M
+UNDO_BUFFER_SIZE 1M
+ENGINE NDB;
+SHOW WARNINGS;
+
 --error ER_CREATE_FILEGROUP_FAILED
 CREATE LOGFILE GROUP lg1
 ADD UNDOFILE 'undofile.dat'
diff --git a/mysql-test/t/ndb_dd_dump.test b/mysql-test/t/ndb_dd_dump.test
index 13d4fd86396a71bf05c41db94d8066845dc536b7..3f16f7fb28b0b49d401d691e222089927939c97f 100644
--- a/mysql-test/t/ndb_dd_dump.test
+++ b/mysql-test/t/ndb_dd_dump.test
@@ -15,17 +15,6 @@ ADD UNDOFILE 'undofile_lg1_02.dat'
 INITIAL_SIZE = 4M 
 ENGINE NDB;
 
-CREATE LOGFILE GROUP lg2
-ADD UNDOFILE 'undofile_lg2_01.dat'
-UNDO_BUFFER_SIZE = 1M
-INITIAL_SIZE 2M
-ENGINE NDB;
-
-ALTER LOGFILE GROUP lg2
-ADD UNDOFILE 'undofile_lg2_02.dat'
-INITIAL_SIZE = 4M 
-ENGINE NDB;
-
 CREATE TABLESPACE ts1
 ADD DATAFILE 'datafile_ts1_01.dat'
 USE LOGFILE GROUP lg1
@@ -46,7 +35,7 @@ ENGINE NDB;
 
 CREATE TABLESPACE ts3
 ADD DATAFILE 'datafile_ts3_01.dat'
-USE LOGFILE GROUP lg2
+USE LOGFILE GROUP lg1
 INITIAL_SIZE 4M
 ENGINE NDB;
 
@@ -204,7 +193,6 @@ DROP TABLESPACE ts2 ENGINE = NDB;
 DROP TABLESPACE ts3 ENGINE = NDB;
 
 DROP LOGFILE GROUP lg1 ENGINE = NDB;
-DROP LOGFILE GROUP lg2 ENGINE = NDB;
 
 --exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/ndb_dd_dump.sql
 
@@ -254,6 +242,5 @@ DROP TABLESPACE ts2 ENGINE = NDB;
 DROP TABLESPACE ts3 ENGINE = NDB;
 
 DROP LOGFILE GROUP lg1 ENGINE = NDB;
-DROP LOGFILE GROUP lg2 ENGINE = NDB;
 
 #End 5.1 test case
diff --git a/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp b/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp
index cca77fec924e31f1505d2c3140c4c3e9410da433..fe660e770f7ed1813fbad2cd11f50f855f1dd44e 100644
--- a/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp
+++ b/storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp
@@ -70,7 +70,8 @@ struct CreateFilegroupImplRef {
     NoError = 0,
     FilegroupAlreadyExists = 1502,
     OutOfFilegroupRecords = 1503,
-    OutOfLogBufferMemory = 1504
+    OutOfLogBufferMemory = 1504,
+    OneLogfileGroupLimit = 1514
   };
   
   Uint32 senderData;
diff --git a/storage/ndb/src/kernel/blocks/lgman.cpp b/storage/ndb/src/kernel/blocks/lgman.cpp
index b626605b0d9c0d1a0d940b752d2d4c46d2c89b2a..d4cc0cb89e802c0acc1bb542118f380f571a5e0c 100644
--- a/storage/ndb/src/kernel/blocks/lgman.cpp
+++ b/storage/ndb/src/kernel/blocks/lgman.cpp
@@ -326,6 +326,13 @@ Lgman::execCREATE_FILEGROUP_REQ(Signal* signal){
       break;
     }
     
+    if (!m_logfile_group_list.isEmpty())
+    {
+      jam();
+      err = CreateFilegroupImplRef::OneLogfileGroupLimit;
+      break;
+    }
+
     if (!m_logfile_group_pool.seize(ptr))
     {
       jam();
@@ -1035,10 +1042,8 @@ int
 Logfile_client::sync_lsn(Signal* signal, 
 			 Uint64 lsn, Request* req, Uint32 flags)
 {
-  Lgman::Logfile_group key;
-  key.m_logfile_group_id= m_logfile_group_id;
   Ptr<Lgman::Logfile_group> ptr;
-  if(m_lgman->m_logfile_group_hash.find(ptr, key))
+  if(m_lgman->m_logfile_group_list.first(ptr))
   {
     if(ptr.p->m_last_synced_lsn >= lsn)
     {
diff --git a/storage/ndb/src/ndbapi/ndberror.c b/storage/ndb/src/ndbapi/ndberror.c
index bb4616a9ee2895823a6822a9dc935e17adabbe6c..06a2f0de10513c54514a95294ae960f1773ee7c1 100644
--- a/storage/ndb/src/ndbapi/ndberror.c
+++ b/storage/ndb/src/ndbapi/ndberror.c
@@ -413,6 +413,7 @@ ErrorBundle ErrorCodes[] = {
   { 1511, DMEC, IE, "Out of memory" },
   { 1512, DMEC, SE, "File read error" },
   { 1513, DMEC, IE, "Filegroup not online" },
+  { 1514, DMEC, SE, "Currently there is a limit of one logfile group" },
   
   { 773,  DMEC, SE, "Out of string memory, please modify StringMemory config parameter" },