diff --git a/contrib/rserv/GetSyncID.in b/contrib/rserv/GetSyncID.in
index 2ffe7d3c5471746be706d83b3d515f9e6731001c..d5b0755a2ea5d5dfba2fb0bcdec559457a92dd5c 100644
--- a/contrib/rserv/GetSyncID.in
+++ b/contrib/rserv/GetSyncID.in
@@ -34,7 +34,7 @@ $sinfo = "$sinfo host=$opt_host" if (defined($opt_host));
 $sinfo = "$sinfo user=$opt_user" if (defined($opt_user));
 $sinfo = "$sinfo password=$opt_password" if (defined($opt_password));
 
-if ($verbose) { print "Connecting to '$sinfo'\n" };
+print("Connecting to '$sinfo'\n") if ($debug || $verbose);
 my $conn = Pg::connectdb($sinfo);
 
 $res = GetSyncID($conn);
diff --git a/contrib/rserv/Makefile b/contrib/rserv/Makefile
index 8d933f006e0150c36c7a1b0e205565e4900117a0..1e161551d98a0caec59b17d65f18300f43d58743 100644
--- a/contrib/rserv/Makefile
+++ b/contrib/rserv/Makefile
@@ -13,8 +13,9 @@ OBJS	= $(NAME).o
 DOCS	= README.$(NAME)
 SQLS	= master.sql slave.sql
 TCLS	= RservTest
-PERLS	= MasterInit SlaveInit MasterAddTable SlaveAddTable Replicate CleanLog
-PERLS	+= PrepareSnapshot ApplySnapshot GetSyncID SyncSyncID
+PERLS	= MasterInit MasterAddTable Replicate MasterSync CleanLog
+PERLS	+= SlaveInit SlaveAddTable GetSyncID
+PERLS	+= PrepareSnapshot ApplySnapshot
 LIBS	= RServ.pm
 SCRIPTS	= InitRservTest
 MODS	= $(OBJS:.o=$(DLSUFFIX))
diff --git a/contrib/rserv/SyncSyncID.in b/contrib/rserv/MasterSync.in
similarity index 98%
rename from contrib/rserv/SyncSyncID.in
rename to contrib/rserv/MasterSync.in
index a5ab88bc534364ec522bee28098c1e6149659e4c..abbe69ee0bf50ea2c760aabbd52c5e8885beb3e8 100644
--- a/contrib/rserv/SyncSyncID.in
+++ b/contrib/rserv/MasterSync.in
@@ -1,5 +1,5 @@
 # -*- perl -*-
-# SyncSyncID
+# MasterSync
 # Vadim Mikheev, (c) 2000, PostgreSQL Inc.
 
 eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
diff --git a/contrib/rserv/README.rserv b/contrib/rserv/README.rserv
index 5ccd87b3459366b1e73bc2f1d92f3d81f6514b0a..1a61fefd2d891dc259c9b6f8a266dbdaebbcd197 100644
--- a/contrib/rserv/README.rserv
+++ b/contrib/rserv/README.rserv
@@ -48,7 +48,12 @@ Replicate masterdb slavedb
 
 GetSyncID [--noverbose] slavedb
   returns the last syncid the specified slave has seen. May be used
-  in conjunction with CleanLog using the --noverbose option.
+  in conjunction with SyncSyncID and CleanLog using the --noverbose
+  option.
+
+MasterSync masterdb syncid
+  registers a syncid with the specified master database. Used to
+  propagate replication success back to the master database.
 
 CleanLog masterdb syncid
   removes obsolete entries in the master database replication log
diff --git a/contrib/rserv/SlaveInit.in b/contrib/rserv/SlaveInit.in
index 753d4dddb5edc5e275a9080e2f2f7cca9310864d..bbe152fe8ea3fb88d86acf34d4a07b622706c5f7 100644
--- a/contrib/rserv/SlaveInit.in
+++ b/contrib/rserv/SlaveInit.in
@@ -38,7 +38,7 @@ sub RollbackAndQuit {
     exit (-1);
 }
 
-print "Connecting to $sinfo\n";
+print("Connecting to $sinfo\n") if ($debug || $verbose);
 my $conn = Pg::connectdb($sinfo);
 if ($conn->status != PGRES_CONNECTION_OK) {
     print STDERR "Failed opening $sinfo\n";