Not sure it is valid to use a GOTO from within a Function

Returned error is 6 The handle is invalid.
ERROR : LABEL [start] not found!
Script: C:\temp\test.kix
Line : 14



; test.kix

;:start
$x=MessageBox ("it runs", "update" ,52)
If $x = 6
  ? 'Returned error is '+@ERROR +'  '+@SERROR
  test
Else
  ? 'var did not equal 6 - Returned error is '+@ERROR +'  '+@SERROR
  Quit
EndIf

Function test
  Goto "start"
endfunction

GOTO END
:start
? 'Hi start test'

:END