RPM code not calculating correctly?

I'm following this project: http://arduinoprojects101.com/arduino-rpm-counter-tachometer/ and everything is set up. However, when I move my finger through the IR sensor TWICE, it displays RPM=58. That does not make sense to me. Shouldn't it display RPM = 1?

Is there something wrong with the code on that page? If so, what should I edit? I've already read the comments there and two people mention to change volatile byte rpmcount; to volatile int rpmcount; to be able to count a higher number of RPM, so I've done that. What else needs to be edited to fix this so the RPM is correct?

I'm a newbie to Arduino so any help is appreciated!

Why would you expect '1'?

It counts the number of interrupts in one second and then applies the formula:

rpm = 30*1000/(millis() - timeold)*rpmcount;

This assumes two interrupts per revolution. If you interrupt the IR twice in one second that's equivalent to 1 rotation in 1-second or 60 rotations in one minute. The value of 58 is reasonably accurate.

If you want 1 interrupt per revolution change the '30' to '60' in the above equation.