Rotary Encoder and Reading in Reverse

My rotary encoder:

Using an ATMEGA2560, pins currently connected to 6,19 for interrupts

I have had luck so far with the encoder library provided at, but it doesn't seem to work with reading values in reverse.

When the encoder is turned the output value returned by serial.print shows that it goes down, but after dropping by 2 values it is reset to the original value. For example it would read: 1, 2, 3, 4, 5, 6, (start reverse), 5, 4, 6, 5, 4, 6, 5, 4.

So far I have just been using the basic code example in the library provided. Is this working correctly? Can it not count in reverse?

info from library page: Arduino Mega. Use pins 2, 3, 18, 19, 20, 21
Try change pins.