Index: uspace/lib/c/generic/tls.c
===================================================================
--- uspace/lib/c/generic/tls.c	(revision 6adb775f3673e07585ec14ce5919b69217752f6e)
+++ uspace/lib/c/generic/tls.c	(revision 29405acfa4d5067562bc16ee6789b94bfe557964)
@@ -47,4 +47,8 @@
 size_t tls_get_size(void)
 {
+#ifdef CONFIG_RTLD
+	if (runtime_env != NULL)
+		return runtime_env->tls_size;
+#endif
 	return &_tbss_end - &_tdata_start;
 }
@@ -83,11 +87,5 @@
 void tls_free(tcb_t *tcb)
 {
-	size_t tls_size = &_tbss_end - &_tdata_start;
-
-#ifdef CONFIG_RTLD
-	if (runtime_env != NULL)
-		tls_size = runtime_env->tls_size;
-#endif
-	tls_free_arch(tcb, tls_size);
+	tls_free_arch(tcb, tls_get_size());
 }
 
