Index: uspace/lib/c/arch/ia32/src/tls.c
===================================================================
--- uspace/lib/c/arch/ia32/src/tls.c	(revision 29405acfa4d5067562bc16ee6789b94bfe557964)
+++ uspace/lib/c/arch/ia32/src/tls.c	(revision e2f260026920f1d43bed8d2b775564b1f64a6f6a)
@@ -69,19 +69,14 @@
     *___tls_get_addr(tls_index *ti)
 {
-	size_t tls_size;
 	uint8_t *tls;
-
-	/* Calculate size of TLS block */
-	tls_size = tls_get_size();
-
-	/* The TLS block is just before TCB */
-	tls = (uint8_t *)__tcb_get() - tls_size;
 
 #ifdef CONFIG_RTLD
 	if (runtime_env != NULL) {
-		return rtld_tls_get_addr(runtime_env, tls, ti->ti_module,
+		return rtld_tls_get_addr(runtime_env, ti->ti_module,
 		    ti->ti_offset);
 	}
 #endif
+	/* Get address of static TLS block */
+	tls = tls_get();
 	return tls + ti->ti_offset;
 }
