diff --git a/kern/src/event.c b/kern/src/event.c
index ed5fe39..91243aa 100644
--- a/kern/src/event.c
+++ b/kern/src/event.c
@@ -370,22 +370,7 @@
 	if (proc_is_dying(p))
 		return;
 	printd("[kernel] sending msg to proc %p, ev_q %p\n", p, ev_q);
-	if (!ev_q) {
-		warn("[kernel] Null ev_q - kernel code should check before sending!");
-		return;
-	}
-	if (!is_user_rwaddr(ev_q, sizeof(struct event_queue))) {
-		/* Ought to kill them, just warn for now */
-		printk("[kernel] Illegal addr for ev_q\n");
-		return;
-	}
-	/* This should be caught by "future technology" that can tell when the
-	 * kernel PFs on the user's behalf.  For now, we catch common userspace bugs
-	 * (had this happen a few times). */
-	if (!PTE_ADDR(ev_q)) {
-		printk("[kernel] Bad addr %p for ev_q\n", ev_q);
-		return;
-	}
+	assert(is_user_rwaddr(ev_q, sizeof(struct event_queue)));
 	/* ev_q is a user pointer, so we need to make sure we're in the right
 	 * address space */
 	old_proc = switch_to(p);
diff --git a/kern/src/syscall.c b/kern/src/syscall.c
index 1b9161a..a596f75 100644
--- a/kern/src/syscall.c
+++ b/kern/src/syscall.c
@@ -1432,8 +1432,12 @@
 {
 	struct event_msg local_msg = {0};
 
-	if (memcpy_from_user(p, &local_msg, u_msg, sizeof(struct event_msg))) {
-		set_errno(EINVAL);
+	if (memcpy_from_user_errno(p, &local_msg, u_msg,
+	                           sizeof(struct event_msg))) {
+		return -1;
+	}
+	if (!is_user_rwaddr(ev_q, sizeof(struct event_queue))) {
+		set_error(EINVAL, "bad event_queue %p", ev_q);
 		return -1;
 	}
 	send_event(p, ev_q, &local_msg, vcoreid);
@@ -2568,6 +2572,11 @@
 			memset(&local_msg, 0, sizeof(struct event_msg));
 			local_msg.ev_type = EV_SYSCALL;
 			local_msg.ev_arg3 = sysc;
+			if (!is_user_rwaddr(ev_q, sizeof(struct event_queue))) {
+				printk("[kernel] syscall had bad ev_q %p\n",
+				       ev_q);
+				return;
+			}
 			send_event(p, ev_q, &local_msg, 0);
 		}
 	}
