diff --git a/src/libraries/libisc-new/src/ChangeLog b/src/libraries/libisc-new/src/ChangeLog
new file mode 100644
index 0000000000000000000000000000000000000000..7e44503a5642631a7db8a57e13a6920600781784
--- /dev/null
+++ b/src/libraries/libisc-new/src/ChangeLog
@@ -0,0 +1,4 @@
+Sun May 31 01:49:22 1992  Per Cederqvist  (ceder@lysator)
+
+	* isc_master (isc_initialize): Allocate the master control block
+	with the allocator that is passed in IscConfig (if any).
diff --git a/src/libraries/libisc-new/src/isc_master.c b/src/libraries/libisc-new/src/isc_master.c
index ccf8ab82f978b7d5e40152a553e79dfa1d0391df..151f37c34f18e66cd8d2a8d29efa32f9a435c36a 100644
--- a/src/libraries/libisc-new/src/isc_master.c
+++ b/src/libraries/libisc-new/src/isc_master.c
@@ -26,10 +26,24 @@ isc_initialize(IscConfig  * cfg)
   IscMaster         * mcb;
   IscMasterConfig   * mcfg;
   IscSessionConfig  * scfg;
-  
-  
+
+  /* Make sure the mcb is allocated using the correct allocator. */
+  if (cfg && cfg->version == 1005 && cfg->master.version == 1001)
+  {
+      if (cfg->master.memfn.alloc && cfg->master.memfn.realloc
+	  && cfg->master.memfn.free)
+      {
+	  isc_setallocfn(cfg->master.memfn.alloc,
+			 cfg->master.memfn.realloc,
+			 cfg->master.memfn.free);
+      }
+
+      if (cfg->master.abortfn)
+	  isc_setabortfn(cfg->master.abortfn);
+  }
+
   ISC_XNEW(mcb);
-  
+
   mcb->sessions = NULL;