diff --git a/kernel/queue.c b/kernel/queue.c
index d1f9a43..04aaa14 100644
--- a/kernel/queue.c
+++ b/kernel/queue.c
@@ -72,7 +72,7 @@
 #ifdef CONFIG_USERSPACE
 static inline void z_vrfy_k_queue_init(struct k_queue *queue)
 {
-	Z_OOPS(K_SYSCALL_OBJ_NEVER_INIT(queue, K_OBJ_QUEUE));
+	K_OOPS(K_SYSCALL_OBJ_NEVER_INIT(queue, K_OBJ_QUEUE));
 	z_impl_k_queue_init(queue);
 }
 #include <syscalls/k_queue_init_mrsh.c>
@@ -114,7 +114,7 @@
 #ifdef CONFIG_USERSPACE
 static inline void z_vrfy_k_queue_cancel_wait(struct k_queue *queue)
 {
-	Z_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
+	K_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
 	z_impl_k_queue_cancel_wait(queue);
 }
 #include <syscalls/k_queue_cancel_wait_mrsh.c>
@@ -217,7 +217,7 @@
 static inline int32_t z_vrfy_k_queue_alloc_append(struct k_queue *queue,
 						  void *data)
 {
-	Z_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
+	K_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
 	return z_impl_k_queue_alloc_append(queue, data);
 }
 #include <syscalls/k_queue_alloc_append_mrsh.c>
@@ -238,7 +238,7 @@
 static inline int32_t z_vrfy_k_queue_alloc_prepend(struct k_queue *queue,
 						   void *data)
 {
-	Z_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
+	K_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
 	return z_impl_k_queue_alloc_prepend(queue, data);
 }
 #include <syscalls/k_queue_alloc_prepend_mrsh.c>
@@ -405,28 +405,28 @@
 static inline void *z_vrfy_k_queue_get(struct k_queue *queue,
 				       k_timeout_t timeout)
 {
-	Z_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
+	K_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
 	return z_impl_k_queue_get(queue, timeout);
 }
 #include <syscalls/k_queue_get_mrsh.c>
 
 static inline int z_vrfy_k_queue_is_empty(struct k_queue *queue)
 {
-	Z_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
+	K_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
 	return z_impl_k_queue_is_empty(queue);
 }
 #include <syscalls/k_queue_is_empty_mrsh.c>
 
 static inline void *z_vrfy_k_queue_peek_head(struct k_queue *queue)
 {
-	Z_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
+	K_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
 	return z_impl_k_queue_peek_head(queue);
 }
 #include <syscalls/k_queue_peek_head_mrsh.c>
 
 static inline void *z_vrfy_k_queue_peek_tail(struct k_queue *queue)
 {
-	Z_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
+	K_OOPS(K_SYSCALL_OBJ(queue, K_OBJ_QUEUE));
 	return z_impl_k_queue_peek_tail(queue);
 }
 #include <syscalls/k_queue_peek_tail_mrsh.c>
