diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e61d29362ba0362601326eb0f81d56de164324e4..3a5dea4fcd58f5acd612d700453f4b21260c215b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Mar  8 23:43:47 1999  Richard Henderson  <rth@cygnus.com>
+
+	* haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
+	dependancies to sets in the non-hard-reg case too.
+
 Mon Mar  8 18:55:21 1999  Marc Espie <espie@cvs.openbsd.org>
 
         * config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index ca9040c35970b469b1357528779897884fbbb739..8c7e8b58047eb746560cea2484abf91d47cdb35c 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -3392,7 +3392,11 @@ sched_analyze_1 (x, insn)
 	    add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
 
 	  if (code == SET)
-	    SET_REGNO_REG_SET (reg_pending_sets, regno);
+	    {
+	      for (u = reg_last_clobbers[regno]; u; u = XEXP (u, 1))
+		add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
+	      SET_REGNO_REG_SET (reg_pending_sets, regno);
+	    }
 	  else
 	    SET_REGNO_REG_SET (reg_pending_clobbers, regno);