If you have an Arduino older than Uno Rev3, you may be suffering from the "reset overshoot" problem described here:
Regression between uno and uno R2 VALIDATED. HARDWARE PROBLEM CONFIRMED - Suggestions for the Arduino Project - Arduino Forum These were especially common in the Uno R2.
The fix is a clamping diode (any general purpose diode) between reset and +5V (cathode on +5V, anode on reset), which you can do like: