diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index df3176efbe46e982dd3d4c9e2ebd15e653ff850b..e7757f8edd52fd8304614b0a7704686cb2f099e3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
 Thu Mar 30 06:32:51 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
+	* expr.c (move_by_pieces_ninsns): Fix one more missing align
+	correction.
+
 	* expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits.
 
 	* calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
diff --git a/gcc/expr.c b/gcc/expr.c
index 21daef7c5e0787a836d181ab38fc613a605937a9..6cb66f6b73ac3980e6bee5f2667a63d8ba1264e5 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1498,7 +1498,7 @@ move_by_pieces_ninsns (l, align)
 
   if (! SLOW_UNALIGNED_ACCESS (word_mode, align)
       || align > MOVE_MAX * BITS_PER_UNIT || align >= BIGGEST_ALIGNMENT)
-    align = MOVE_MAX;
+    align = MOVE_MAX * BITS_PER_UNIT;
 
   while (max_size > 1)
     {