Reset help

Hi, can anyone help me with this.
I've created an Arduino uno shield that has a serial LCD, Piezo Buzzer, Shiftbrite and a Xbee connected to it. It is running off a 9V battery that I have connected to the Arduino. I use a switch to turn the battery on and off. The problem is this, every time I turn the power on, the sketch that I had previously programmed on the arduino won't load up unless I physically press the reset button. Is there a reason why this happens and can anyone suggest some solutions so I do not have to keep pressing the reset???