@Cipscis: what i'm guessing is that when you call a GoToState, the script suddenly jumps in the new state, without even finishing running itself in the old state. So calling the SetStage before it ensures that the 1st thing done is calling the stage, then it can safely run the empty state. Also, maybe, putting the 1st event in a Auto State wouls do the trick, dunno. @antstunbell: try putting a radius of 0 in your sleep package. The bed you select isn't the "target of the package". It is just the starting point of it. So if you select that bed with a big enough radius, what the NPC will do is this: - travel to the bed - gather all the beds in the radius - select a random bed among the list - go to that bed and sleep So to fix your issue you can either set the radius to 0, or maybe removing the furniture marker from the bedroll behind the wardrobe, so the bedroll won't be treaten as a sleeping furniture