diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index e34efd8..c71f056 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+	* isis_main.c: (reload) Call vty_reset instead of vty_finish (both
+	  functions were exactly the same).
+
 2005-01-18 Hasso Tepper <hasso at quagga.net>
 
 	* *.c: Changed many functions to static. Some commented out
diff --git a/isisd/isis_main.c b/isisd/isis_main.c
index a2f028b..a4f8058 100644
--- a/isisd/isis_main.c
+++ b/isisd/isis_main.c
@@ -139,7 +139,7 @@
 {
   zlog_debug ("Reload");
   /* FIXME: Clean up func call here */
-  vty_finish ();
+  vty_reset ();
   execve (_progpath, _argv, _envp);
 }
 
diff --git a/lib/ChangeLog b/lib/ChangeLog
index af3841a..26cb686 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,5 +1,9 @@
 2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
+	* {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
+
+2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
 	* buffer.h: Make the struct buffer and struct buffer_data structures
 	  private by moving them inside buffer.c.  Add comments for all
 	  functions.  Rename buffer_write as buffer_put (to be more consistent
diff --git a/lib/vty.c b/lib/vty.c
index 887e3ba..9cc5ec4 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -2780,46 +2780,6 @@
     }
 }
 
-/* for ospf6d easy temprary reload function */
-/* vty_reset + close accept socket */
-void
-vty_finish ()
-{
-  unsigned int i;
-  struct vty *vty;
-  struct thread *vty_serv_thread;
-
-  for (i = 0; i < vector_max (vtyvec); i++)
-    if ((vty = vector_slot (vtyvec, i)) != NULL)
-      {
-	buffer_reset (vty->obuf);
-	vty->status = VTY_CLOSE;
-	vty_close (vty);
-      }
-
-  for (i = 0; i < vector_max (Vvty_serv_thread); i++)
-    if ((vty_serv_thread = vector_slot (Vvty_serv_thread, i)) != NULL)
-      {
-	thread_cancel (vty_serv_thread);
-	vector_slot (Vvty_serv_thread, i) = NULL;
-        close (i);
-      }
-
-  vty_timeout_val = VTY_TIMEOUT_DEFAULT;
-
-  if (vty_accesslist_name)
-    {
-      XFREE(MTYPE_VTY, vty_accesslist_name);
-      vty_accesslist_name = NULL;
-    }
-
-  if (vty_ipv6_accesslist_name)
-    {
-      XFREE(MTYPE_VTY, vty_ipv6_accesslist_name);
-      vty_ipv6_accesslist_name = NULL;
-    }
-}
-
 static void
 vty_save_cwd (void)
 {
diff --git a/lib/vty.h b/lib/vty.h
index 0290a83..6faa7d8 100644
--- a/lib/vty.h
+++ b/lib/vty.h
@@ -181,7 +181,6 @@
 void vty_init (struct thread_master *);
 void vty_init_vtysh (void);
 void vty_reset (void);
-void vty_finish (void);
 struct vty *vty_new (void);
 int vty_out (struct vty *, const char *, ...) PRINTF_ATTRIBUTE(2, 3);
 void vty_read_config (char *, char *);
