Index: uspace/lib/libc/generic/fibril.c
===================================================================
--- uspace/lib/libc/generic/fibril.c	(revision 8a81a73a5ba2937888cb304174241858a0f901de)
+++ uspace/lib/libc/generic/fibril.c	(revision 4c467ee98b2e9b9f3c494c80d9b943cee683aa1f)
@@ -166,4 +166,10 @@
 		/* Save current state */
 		if (!context_save(&srcf->ctx)) {
+			/*
+			 * Make sure to reload srcf with the current fibril
+			 * address. Its value may be invalid after
+			 * contex_restore() due to e.g. register recycling.
+			 */
+			srcf = __tcb_get()->fibril_data;
 			if (serialization_count)
 				srcf->flags &= ~FIBRIL_SERIALIZED;
