diff --git a/ChangeLog b/ChangeLog
index 63587b5d..75e63d8d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-08-30  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	bug #34027: avrdude AT90S1200 Problem (part 2 - stk500v2 and relatives)
+	* stk500v2.c (stk500v2_initialize): For the AT90S1200, release
+	/RESET for a moment before reinitializing, as this is required by
+	its programming protocol.
+
 2011-08-30  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	* configure.ac: In AC_CHECK_LIB for libftdi, check for
diff --git a/stk500v2.c b/stk500v2.c
index 276d6f58..2fd5e944 100644
--- a/stk500v2.c
+++ b/stk500v2.c
@@ -1099,6 +1099,14 @@ static int stk500v2_initialize(PROGRAMMER * pgm, AVRPART * p)
     stk600_setup_isp(pgm);
   }
 
+  if (p->flags & AVRPART_IS_AT90S1200) {
+    /*
+     * AT90S1200 needs a positive reset pulse after a chip erase.
+     */
+    pgm->disable(pgm);
+    usleep(10000);
+  }
+
   return pgm->program_enable(pgm, p);
 }