Create your scene on your own:  var myScene = new BABYLON.Scene(engine); Use Append instead of Load:  BABYLON.SceneLoader.Append("", "stage.babylon", myScene); Import your Guy: BABYLON.SceneLoader.ImportMesh("guy", "", "guy.babylon", myScene); Add your executeWhenReady:  myScene.executeWhenReady(function(){ ...}); This is much straight forward than nested loads / callbacks.  May not fix your problem, but will get rid of messy callbacks & scene scope issues.  If "guy