diff --git a/src/ChangeLog b/src/ChangeLog
index 10bff0e1acc4cd810a85f19a40e39d74fd84269c..5ebb8df8c8ea022ae2fe5fc3263a14184c23f851 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,7 @@
 2008-11-18  Larry Jones  <lawrence.jones@siemens.com>
 
+	* client.c (add_prune_candidate): Strip all trailing slashes.
+
 	* client.c commit.c, history.c, logmsg.c, rcs.c, repos.c, tag.c,
 	  update.c, vers_ts.c: Fix gcc -Wall warnings.
 
diff --git a/src/client.c b/src/client.c
index b0c4ac5d496fd1ee19db53a5b6abd725bd5e8301..8aec2fe94622fdd466fd2717b31303f9980e3e3f 100644
--- a/src/client.c
+++ b/src/client.c
@@ -3017,12 +3017,15 @@ static void
 add_prune_candidate (const char *dir)
 {
     struct save_dir *p;
+    char *q;
 
     if ((dir[0] == '.' && dir[1] == '\0')
 	|| (prune_candidates && STREQ (dir, prune_candidates->dir)))
 	return;
     p = xmalloc (sizeof (struct save_dir));
     p->dir = xstrdup (dir);
+    for (q = p->dir + strlen(p->dir); q > p->dir && ISSLASH(q[-1]); q--) ;
+    *q = '\0';
     p->next = prune_candidates;
     prune_candidates = p;
 }