diff --git a/libports/src/lib/libc/exit.cc b/libports/src/lib/libc/exit.cc
index 124a5096a8..ab48291905 100644
--- a/libports/src/lib/libc/exit.cc
+++ b/libports/src/lib/libc/exit.cc
@@ -15,10 +15,11 @@
#include
#include
+extern void genode_exit(int status) __attribute__((noreturn));
+
extern "C" void _exit(int status)
{
- Genode::env()->parent()->exit(status);
- Genode::sleep_forever();
+ genode_exit(status);
}