Index: uspace/lib/posix/src/pthread/keys.c
===================================================================
--- uspace/lib/posix/src/pthread/keys.c	(revision 98743e252b3fa43cef96b1ea3617304534b2fcc8)
+++ uspace/lib/posix/src/pthread/keys.c	(revision 12824b908c892d517a28158b46dae50c1fa13ea8)
@@ -43,5 +43,4 @@
 #define DPRINTF(format, ...) ((void) 0);
 
-static fibril_local bool fibril_initialized = false;
 static atomic_ushort next_key = 1; // skip the key 'zero'
 
@@ -57,10 +56,4 @@
 void *pthread_getspecific(pthread_key_t key)
 {
-	// initialization is done in setspecific -> if not initialized, nothing was set yet
-	if (!fibril_initialized) {
-		DPRINTF("pthread_getspecific(%d) = NULL (uninitialized)\n", key);
-		return NULL;
-	}
-
 	assert(key < PTHREAD_KEYS_MAX);
 	assert(key < next_key);
@@ -74,11 +67,4 @@
 {
 	DPRINTF("pthread_setspecific(%d, %p)\n", key, data);
-	if (!fibril_initialized) {
-		DPRINTF("initializing pthread keys\n");
-		for (unsigned i = 0; i < PTHREAD_KEYS_MAX; i++) {
-			key_data[i] = NULL;
-		}
-		fibril_initialized = true;
-	}
 	assert(key < PTHREAD_KEYS_MAX);
 	assert(key < next_key);
@@ -91,5 +77,5 @@
 int pthread_key_delete(pthread_key_t key)
 {
-	// see https://github.com/HelenOS/helenos/pull/245#issuecomment-2706795848
+	/* see https://github.com/HelenOS/helenos/pull/245#issuecomment-2706795848 */
 	not_implemented();
 	return EOK;
@@ -105,9 +91,10 @@
 	}
 	if (destructor != NULL) {
-		static int __counter = 0;
-		if (__counter == 0) {
+		/* Inlined not_implemented() macro to add custom message */
+		static int __not_implemented_counter = 0;
+		if (__not_implemented_counter == 0) {
 			fprintf(stderr, "pthread_key_create: destructors not supported\n");
 		}
-		__counter++;
+		__not_implemented_counter++;
 	}
 
