I used to write like you, except with the END as commented by Henrik.

I have since changed to how I've seen countless examples here:

Code:
Define variables and stuff

GOTO ProgramStart

Subroutine1:
  bla bla
RETURN

ProgramStart:
  bla bla
  GOSUB Subroutine1
  GOTO ProgramStart
END
Your code "should" work. But I've never had a freaky situation by coding like this yet.

Robert