Problem w/ ServoTimer2.h and VirtualWire.h

Hello everybody.

I am working on a Drone project. I have a problem with my project since a long time, and I hope you could bring me an alternative solution that I didn’t think about.

I’m using VirtualWire.h (a radio communication library), on two different Arduino : One is the transmitter (controller), the other is the receiver, which send the received value to the servos. To control servos, I use another library on the second Arduino : ServoTimer2.h.

NB : I do not use Servo.h because it create troubles between Servo.h and VirtualWire.h libraries. It seems that the two libraries use the same timer, so I use ServoTimer2.h .
NB2 : If you want to use ServoTimer2.h, you must use an older version to make it run. I use the 1.5.6 Beta version.

My problem is that when I use only ServoTimer2.h, or only VirtualWire.h, my receiver Arduino is working as expected. But when I combine these two libraries, it create troubles. I receive the right value from the transmitter Arduino, and I send this value in the servo in order to make it rotate.
But When I read the value (with the function “Serial.print(ServoName.read()”) that make rotate the servo, it is not the expected value at all. I should have a value between 700 and 2300, but I read values like : 6247, 14207, 31068, etc…
It seems like the VirtualWire.h library create interferences in the ServoTimer2.h library, and the values changes with no logic.

Did anyone have this problem in the past ? Or just an idea of the origin of the problem ?

I think I will buy a servo shield in one week or two, which should run without problem with VirtualWire.h. I hope you can help me to find a solution with no shield.

NB3 : The problem appears only when I try to collect the value of the transmitter. I can use the two library in one code, until I use the code part rounded in red on the picture attached.