diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 29c80a04db8..6c72ceeebe2 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,8 @@
 Sun Feb  6 06:55:15 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
+	* target.c (target_preopen): If target_kill doesn't remove the
+	target from the stack, use pop_target to do it.
+
 	* coffread.c (process_coff_symbol, case C_TPDEF): Don't set name
 	of TYPE_CODE_PTR or TYPE_CODE_FUNC types.  This parallels similar
 	changes to stabsread.c from summer 1993.
@@ -10,8 +13,6 @@ Sun Feb  6 06:55:15 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
 	try to call UDIDisconnect again.  Print better message.
 	(udi_kill): Just call UDIDisconnect ourselves, rather than doing
 	it via udi_close.
-	(udi_open): Unpush UDI target after target_preopen, now that
-	udi_kill doesn't pop the target.
 	(udi_create_inferior): If udi_session_id is negative, open a new
 	TIP rather than giving an error.
 
diff --git a/gdb/remote-udi.c b/gdb/remote-udi.c
index 0a7e1a9c760..00bb473f102 100644
--- a/gdb/remote-udi.c
+++ b/gdb/remote-udi.c
@@ -221,10 +221,6 @@ udi_open (name, from_tty)
   UDIUInt32 TIPId, TargetId, DFEId, DFE, TIP, DFEIPCId, TIPIPCId;
 
   target_preopen(from_tty);
-  /* target_preopen calls target_kill to clean up the previous target.  But
-     udi_kill leaves it on the stack.  So we pop it here (the call to udi_close
-     is harmless now that udi_session_id is -1).  */
-  unpush_target (&udi_ops);
 
   entry.Offset = 0;