diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d1930ad7ceea901438c79cca55dfefd59226e7a9..366eb3fb7fbcbb62b53c81e42ea618619412f75b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-04  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+	PR target/27386
+	* config/avr/avr.h: (PUSH_ROUNDING): Remove.
+
 2008-06-04  Andy Hutchinson  <hutchinsonandy@aim.com>
 
 	PR target/30243
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index 4cd0f24517e7cca7d9b1867821ff0bcb5e527a0f..6ae1c63d01e7d253cfe55244f14f445528772774 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -360,7 +360,9 @@ enum reg_class {
 #define RETURN_ADDR_RTX(count, x) \
   gen_rtx_MEM (Pmode, memory_address (Pmode, plus_constant (tem, 1)))
 
-#define PUSH_ROUNDING(NPUSHED) (NPUSHED)
+/* Don't use Push rounding. expr.c: emit_single_push_insn is broken 
+   for POST_DEC targets (PR27386).  */
+/*#define PUSH_ROUNDING(NPUSHED) (NPUSHED)*/
 
 #define RETURN_POPS_ARGS(FUNDECL, FUNTYPE, STACK_SIZE) 0