diff --git a/dios/include/assert.h b/dios/include/assert.h
index 55c33dd8775d0dada40d7a47dda98adfdb346349..d0f4dbc3fdd753b490ac42f09f517c2239a3e020 100644
--- a/dios/include/assert.h
+++ b/dios/include/assert.h
@@ -13,17 +13,16 @@
 #undef _assert
 
 #ifdef NDEBUG
-# define	assert(e)	((void)0)
-# define	_assert(e)	((void)0)
+# define assert(e)  ((void)0)
+# define _assert(e) ((void)0)
 #else
-# define	_assert(e)	assert(e)
-# define	assert(e)	((e) ? (void)0 : __assert_fail(#e, __FILE__, __LINE__, __func__))
+# define _assert(e) assert(e)
+# define assert(e)  ( (e) ? (void) 0 : __assert_fail(#e, __FILE__, __LINE__, __PRETTY_FUNCTION__) )
 #endif
 
 #ifndef _ASSERT_H_
 #define _ASSERT_H_
 __BEGIN_DECLS
-void __assert_fail( const char *__assertion, const char *__file, unsigned int __line, const char *__function )
-    _PDCLIB_nothrow;
+void __assert_fail( const char *, const char *, unsigned, const char * ) __nothrow;
 __END_DECLS
 #endif
diff --git a/dios/libc/_PDCLIB/assert.c b/dios/libc/_PDCLIB/assert.c
index b487eed224ccf22e0b31bab7531225099c6fb071..aacd4fc02d095b7e2191fca91303bf6e491a4cd2 100644
--- a/dios/libc/_PDCLIB/assert.c
+++ b/dios/libc/_PDCLIB/assert.c
@@ -15,10 +15,11 @@
 
 #include <_PDCLIB/cdefs.h>
 
-void __assert_fail( const char *__assertion, const char *__file, unsigned int __line, const char *__function )
+void __assert_fail( const char *stmt, const char *file, unsigned line, const char *fun )
 {
-    __dios_trace_f( "Assertion failed: %s, file %s, line %u.", __assertion, __file, __line );
-    __dios_fault( _VM_F_Assert, NULL );
+    char buffer[ 200 ];
+    snprintf( buffer, 200, "%s:%u: %s: assertion '%s' failed", file, line, fun, stmt );
+    __dios_fault( _VM_F_Assert, buffer );
 }
 
 #endif