diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index bb61cdfd5bd27e6dcbcd47f502e9673634f3a2f4..a5c42ad8149823f95dd27b00f28c639934e8d685 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.103 1999/09/27 03:13:16 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.104 1999/10/26 04:49:00 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1575,13 +1575,19 @@ PQuntrace(PGconn *conn)
 	}
 }
 
-void
+PQnoticeProcessor
 PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg)
 {
+	PQnoticeProcessor old;
 	if (conn == NULL)
-		return;
+		return NULL;
+
+	old = conn->noticeHook;
+	if (proc) {
 	conn->noticeHook = proc;
 	conn->noticeArg = arg;
+	}
+	return old;
 }
 
 /*
diff --git a/src/interfaces/libpq/libpq-fe.h b/src/interfaces/libpq/libpq-fe.h
index acbf539cd784b9df57bcbc2d26a25c869a63d785..9b4cf2894b619eedb834c3b859d5bb17b7214ad7 100644
--- a/src/interfaces/libpq/libpq-fe.h
+++ b/src/interfaces/libpq/libpq-fe.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: libpq-fe.h,v 1.50 1999/05/25 16:15:13 momjian Exp $
+ * $Id: libpq-fe.h,v 1.51 1999/10/26 04:49:00 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -193,9 +193,7 @@ extern		"C"
 	extern void PQuntrace(PGconn *conn);
 
 	/* Override default notice processor */
-	extern void PQsetNoticeProcessor(PGconn *conn,
-												 PQnoticeProcessor proc,
-												 void *arg);
+	extern PQnoticeProcessor PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg);
 
 /* === in fe-exec.c === */