Index: kernel/generic/src/ipc/sysipc.c
===================================================================
--- kernel/generic/src/ipc/sysipc.c	(revision b9a272563e38eea07dab1ea8d97ee76936365f1a)
+++ kernel/generic/src/ipc/sysipc.c	(revision c2228160477fb53b00e1ddbd8dfdc6958c9cb108)
@@ -267,4 +267,5 @@
  * @return EOK on success.
  * @return ENOENT if there is no such phone handle.
+ * @return ENOMEM if not enough memory to make the call
  *
  */
@@ -276,5 +277,10 @@
 		return ENOENT;
 
-	call_t *call = ipc_call_alloc(0);
+	call_t *call = ipc_call_alloc(FRAME_ATOMIC);
+	if (!call) {
+		kobject_put(kobj);
+		return ENOMEM;
+	}
+
 	call->priv = priv;
 	memcpy(call->data.args, data->args, sizeof(data->args));
@@ -373,5 +379,10 @@
 	}
 
-	call_t *call = ipc_call_alloc(0);
+	call_t *call = ipc_call_alloc(FRAME_ATOMIC);
+	if (!call) {
+		kobject_put(kobj);
+		return ENOMEM;
+	}
+
 	IPC_SET_IMETHOD(call->data, imethod);
 	IPC_SET_ARG1(call->data, arg1);
@@ -420,5 +431,10 @@
 	}
 
-	call_t *call = ipc_call_alloc(0);
+	call_t *call = ipc_call_alloc(FRAME_ATOMIC);
+	if (!call) {
+		kobject_put(kobj);
+		return ENOMEM;
+	}
+
 	errno_t rc = copy_from_uspace(&call->data.args, &data->args,
 	    sizeof(call->data.args));
