Multiple Events Not Registering?

I've got a custom device handler that reflects a number of capabilities including both presence and motion. The code will set both the presence and motion attributes via sendEvent. But I'm finding Hubitat sometimes appears to drop one of the events.

For example:

def inactive() {
	logInfo "${device.displayName} is inactive"
	sendEvent(name: 'presence', value: 'not present')
   	sendEvent(name: 'motion', value: 'inactive')
}

When I check the device status, I sometimes find presence is 'not present' but motion is still 'active'. It happens only about once out of 20-30 times, but very frustrating.

Any ideas?