diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c
index e3524967d8da..5132d2e9711b 100644
--- a/sys/kern/kern_prot.c
+++ b/sys/kern/kern_prot.c
@@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/acct.h>
+#include <sys/kdb.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/mac.h>
@@ -1245,6 +1246,17 @@ int
 suser(struct thread *td)
 {
 
+#ifdef INVARIANTS
+	if (td != curthread) {
+		printf("suser: thread %p (%d %s) != curthread %p (%d %s)\n",
+		    td, td->td_proc->p_pid, td->td_proc->p_comm,
+		    curthread, curthread->td_proc->p_pid,
+		    curthread->td_proc->p_comm);
+#ifdef KDB
+		kdb_backtrace();
+#endif
+	}
+#endif
 	return (suser_cred(td->td_ucred, 0));
 }