My 16F689 TMR1 counter is counting too well! How does one debounce this? My code:

TRISC = %00000000
TRISA = %100100
TRISB = %0000

@ DEVICE pic16f689,wdt_off

HIGH PORTB.4

Define LCD_DREG PORTC 'Set LCD data port
DEFINE LCD_DBIT 0 'Set LCD starting data bit
DEFINE LCD_RSREG PORTC 'Set LCD register select port
DEFINE LCD_RSBIT 4 'Set LCD register select bit
DEFINE LCD_EREG PORTC 'Set LCD enable port
DEFINE LCD_EBIT 5 'Set LCD enable bit
DEFINE LCD_BITS 4 'Set LCD bus size
DEFINE LCD_LINES 2 'Set LCD number of lines

OPTION_REG = %00111000
ANSEL = 0
CM1CON0 = %00000000
LCDOUT $fe,1

COUNT1 Var Word
COUNT1 = 0
TMR1H = 0
TMR1L = 0

'Set TMR1 to increment on rising edge of T1CKI pin, no prescaler, no sync to internal clock, TMR 1 is on.
T1CON = %00000111

Loop:
Count1.highbyte = TMR1H 'Get high byte of counter
Count1.Lowbyte = TMR1L 'Get low byte of counter


'Make sure that the counter did not roll over between reads of the high and low byte.

Temp var TMR1H 'Get highbyte again.
If Temp - Count1.HighByte <> 0 then 'The two values differs so we read it again.
Count1.HighByte = TMR1H
Count1.LowByte = TMR1L
ENDIF

Lcdout $fe,1
LCDOUT DEC COUNT1
PAUSE 100

Goto Loop

Any help would be appreciated.