diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7cf02177feb66adb2945f5c7d3a8deb09ce7fead..4681f69447e56898a5c411040bb38bc70fdf679d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Aug 23 22:28:16 1999  Mark Mitchell  <mark@codesourcery.com>
+
+	* expr.c (store_expr): Always pass down the target, even when not
+	doing CSE.
+
 1999-08-24  Nick Clifton  <nickc@cygnus.com>
 
 	* configure.in: Define target_cpu_default for v850 targets.
diff --git a/gcc/expr.c b/gcc/expr.c
index e96fe58ed876795ae589a262d973f8aa09ccc137..7783bf97b80352fb10f60d053cf093a23b2c03ea 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -3578,8 +3578,7 @@ store_expr (exp, target, want_value)
        Don't do this if TARGET is volatile because we are supposed
        to write it and then read it.  */
     {
-      temp = expand_expr (exp, cse_not_expected ? NULL_RTX : target,
-			  GET_MODE (target), 0);
+      temp = expand_expr (exp, target, GET_MODE (target), 0);
       if (GET_MODE (temp) != BLKmode && GET_MODE (temp) != VOIDmode)
 	temp = copy_to_reg (temp);
       dont_return_target = 1;