More strict state checking