Interrupt (RISING) - triggers twice

pylon:
I have another explanation: After handling all the interrupt based code you're setting the EIFR flag again, which triggers the interrupt routine. If you have the external interrupt enabled (so the interrupt handler is called) the flag is cleared by the hardware when entering the interrupt handler. So you must not set it again otherwise the interrupt handler is triggered.

I have tried without setting the EIFR flags as well and the result is still that the interrupt is triggered twice.

In my opinion setting the EIFR flag does NOT trigger an interrupt but it actually clears the flag. In the Atmel specs the following is written:

"The flag is cleared when the interrupt routine is executed. Alternatively, the flag can be cleared by writing a logical one to it. This flag is always cleared when INT1 is configured as a level interrupt"