Program exécution problem IFwith permanent check error

Hello,

I am experiencing a problem during the execution of my robot program. (UR10e V5.11.0.1)
I am working on the robot not the offline simulator.

Here is the main structure:
////////////////////////
Main thread
Thread 1
Thread 2
If button external pushed then var1=FALSE
If another external button pushed var1=TRUE
Thread 3

Subprogram1
IF var1=FALSE <-Here permanent check on the if statement (flash symbol)
Execute all line
Subprogram2
Subprogram3
/////////////////////////////

The program has executed this the first time without any problem.
The second time i’ve tried to run it, it just blocks at the beginning of subprogram1.
Impossible to validate the if statement the program is blocked at this point without error. (no problem on log)
The variable var1 is FALSE on the online variables tab.
If i turn the if statement to a simple test without permanent check the program works.

I have permanently force to false the var1 variable just in case. No changes.

I don’t know what to do the If permanent check is necessary at this point but the instruction just doesn’t work.

Remark: I’ve tried this case on the offline simulator, no problems. It worked on each try.

Update on my own message:

I’ve been fooled by the fact there is no animation on the executed line into the if statement (if you activate the permanent check).
The program seemed blocked on the if line but it was blocked inside the if. It was just totally invisible.

Thank you