diff --git a/src/box/iproto.cc b/src/box/iproto.cc
index 363c874f3cd1e0c3eaf46e8d7b4b6867b6145fe3..96a2dd6a34205839af1e8620c179aa1f86c54367 100644
--- a/src/box/iproto.cc
+++ b/src/box/iproto.cc
@@ -3205,7 +3205,7 @@ iproto_thread_init_routes(struct iproto_thread *iproto_thread)
 	iproto_thread->override_route[1] = { net_send_msg, NULL };
 };
 
-static inline int
+static inline void
 iproto_thread_init(struct iproto_thread *iproto_thread)
 {
 	iproto_thread_init_routes(iproto_thread);
@@ -3213,22 +3213,10 @@ iproto_thread_init(struct iproto_thread *iproto_thread)
 	slab_cache_create(&iproto_thread->net_slabc, &runtime);
 	/* Init statistics counter */
 	iproto_thread->rmean = rmean_new(rmean_net_strings, RMEAN_NET_LAST);
-	if (iproto_thread->rmean == NULL)
-		goto fail;
 	iproto_thread->tx.rmean = rmean_new(rmean_tx_strings, RMEAN_TX_LAST);
-	if (iproto_thread->tx.rmean == NULL)
-		goto fail;
 	rlist_create(&iproto_thread->stopped_connections);
 	iproto_thread->tx.requests_in_progress = 0;
 	iproto_thread->requests_in_stream_queue = 0;
-	return 0;
-fail:
-	if (iproto_thread->rmean != NULL)
-		rmean_delete(iproto_thread->rmean);
-	slab_cache_destroy(&iproto_thread->net_slabc);
-	diag_set(OutOfMemory, sizeof(struct rmean),
-		 "rmean_new", "struct rmean");
-	return -1;
 }
 
 /** Initialize the iproto subsystem and start network io thread */
@@ -3254,9 +3242,7 @@ iproto_init(int threads_count)
 	for (int i = 0; i < threads_count; i++, iproto_threads_count++) {
 		struct iproto_thread *iproto_thread = &iproto_threads[i];
 		iproto_thread->id = i;
-		if (iproto_thread_init(iproto_thread) != 0)
-			goto fail;
-
+		iproto_thread_init(iproto_thread);
 		if (cord_costart(&iproto_thread->net_cord, "iproto",
 				 net_cord_f, iproto_thread)) {
 			mh_i32_delete(iproto_thread->req_handlers);
diff --git a/src/lib/core/cbus.c b/src/lib/core/cbus.c
index 4724dd6468e44dfb8ee7cbb9c8116dbda63b41aa..0965364360f4f10ffe21b94013d837075b610803 100644
--- a/src/lib/core/cbus.c
+++ b/src/lib/core/cbus.c
@@ -181,8 +181,6 @@ static void
 cbus_create(struct cbus *bus)
 {
 	bus->stats = rmean_new(cbus_stat_strings, CBUS_STAT_LAST);
-	if (bus->stats == NULL)
-		panic_syserror("cbus_create");
 
 	/* Initialize queue lock mutex. */
 	(void) tt_pthread_mutex_init(&bus->mutex, NULL);
diff --git a/src/rmean.c b/src/rmean.c
index 7d5d680c309e0bcce5074dba6ec058413025956a..4b25ee05cd43be0fb27d50694a952caa6ff588b7 100644
--- a/src/rmean.c
+++ b/src/rmean.c
@@ -31,6 +31,7 @@
 #include "rmean.h"
 
 #include "fiber.h"
+#include "trivia/util.h"
 
 void
 rmean_roll(int64_t *value, double dt)
@@ -103,9 +104,7 @@ struct rmean *
 rmean_new(const char **name, size_t n)
 {
 	struct rmean *rmean = (struct rmean *)
-		malloc(sizeof(struct rmean) + sizeof(struct stats) * n);
-	if (rmean == NULL)
-		return NULL;
+		xmalloc(sizeof(struct rmean) + sizeof(struct stats) * n);
 	memset(rmean, 0, sizeof(struct rmean) + sizeof(struct stats) * n);
 	rmean->stats_n = n;
 	rmean->timer.data = (void *)rmean;