diff --git a/lib/memory.c b/lib/memory.c
index 13e1fb7..b8305dd 100644
--- a/lib/memory.c
+++ b/lib/memory.c
@@ -80,9 +80,11 @@
 
 /*
  * Allocate memory as in zmalloc, and also clear the memory.
+ * Add an extra 'z' prefix to function name to avoid collision when linking
+ * statically with zlib that exports the 'zcalloc' symbol.
  */
 void *
-zcalloc (int type, size_t size)
+zzcalloc (int type, size_t size)
 {
   void *memory;
 
@@ -97,9 +99,9 @@
 }
 
 /* 
- * Given a pointer returned by zmalloc or zcalloc, free it and
+ * Given a pointer returned by zmalloc or zzcalloc, free it and
  * return a pointer to a new size, basically acting like realloc().
- * Requires: ptr was returned by zmalloc, zcalloc, or zrealloc with the
+ * Requires: ptr was returned by zmalloc, zzcalloc, or zrealloc with the
  * same type.
  * Effects: Returns a pointer to the new memory, or aborts.
  */
@@ -109,7 +111,7 @@
   void *memory;
 
   if (ptr == NULL)              /* is really alloc */
-      return zcalloc(type, size);
+      return zzcalloc(type, size);
 
   memory = realloc (ptr, size);
   if (memory == NULL)
@@ -122,7 +124,7 @@
 
 /*
  * Free memory allocated by z*alloc or zstrdup.
- * Requires: ptr was returned by zmalloc, zcalloc, or zrealloc with the
+ * Requires: ptr was returned by zmalloc, zzcalloc, or zrealloc with the
  * same type.
  * Effects: The memory is freed and may no longer be referenced.
  */
@@ -196,7 +198,7 @@
   mstat[type].c_calloc++;
   mstat[type].t_calloc++;
 
-  memory = zcalloc (type, size);
+  memory = zzcalloc (type, size);
   mtype_log ("xcalloc", memory, file, line, type);
 
   return memory;
diff --git a/lib/memory.h b/lib/memory.h
index 2396223..5013529 100644
--- a/lib/memory.h
+++ b/lib/memory.h
@@ -56,7 +56,7 @@
   mtype_zstrdup (__FILE__, __LINE__, (mtype), (str))
 #else
 #define XMALLOC(mtype, size)       zmalloc ((mtype), (size))
-#define XCALLOC(mtype, size)       zcalloc ((mtype), (size))
+#define XCALLOC(mtype, size)       zzcalloc ((mtype), (size))
 #define XREALLOC(mtype, ptr, size) zrealloc ((mtype), (ptr), (size))
 #define XFREE(mtype, ptr)          do { \
                                      zfree ((mtype), (ptr)); \
@@ -67,7 +67,7 @@
 
 /* Prototypes of memory function. */
 extern void *zmalloc (int type, size_t size);
-extern void *zcalloc (int type, size_t size);
+extern void *zzcalloc (int type, size_t size);
 extern void *zrealloc (int type, void *ptr, size_t size);
 extern void  zfree (int type, void *ptr);
 extern char *zstrdup (int type, const char *str);
