diff --git a/src/interfaces/ecpg/ecpglib/descriptor.c b/src/interfaces/ecpg/ecpglib/descriptor.c
index be5d78ddb64ba39e5fb29cb605db2e1d5aaca6a8..f683c0f28564f205ff55cf3aa38468a39e3201b2 100644
--- a/src/interfaces/ecpg/ecpglib/descriptor.c
+++ b/src/interfaces/ecpg/ecpglib/descriptor.c
@@ -1,6 +1,6 @@
 /* dynamic SQL support routines
  *
- * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.26 2007/10/03 11:11:12 meskes Exp $
+ * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.27 2007/10/03 16:03:25 tgl Exp $
  */
 
 #define POSTGRES_ECPG_INTERNAL
@@ -16,13 +16,14 @@
 #include "sql3types.h"
 
 static void descriptor_free(struct descriptor *desc);
-static void descriptor_deallocate_all(struct descriptor *list);
 
 /* We manage descriptors separately for each thread. */
 #ifdef ENABLE_THREAD_SAFETY
 static pthread_key_t	descriptor_key;
 static pthread_once_t	descriptor_once = PTHREAD_ONCE_INIT;
 
+static void descriptor_deallocate_all(struct descriptor *list);
+
 static void
 descriptor_destructor(void *arg)
 {
@@ -653,6 +654,8 @@ ECPGdeallocate_desc(int line, const char *name)
 	return false;
 }
 
+#ifdef ENABLE_THREAD_SAFETY
+
 /* Deallocate all descriptors in the list */
 static void
 descriptor_deallocate_all(struct descriptor *list)
@@ -665,6 +668,8 @@ descriptor_deallocate_all(struct descriptor *list)
 	}
 }
 
+#endif /* ENABLE_THREAD_SAFETY */
+
 bool
 ECPGallocate_desc(int line, const char *name)
 {