diff --git a/test/pthread/pts-int/pthread_cancel/pts-1-3.c b/test/pthread/pts-int/pthread_cancel/pts-1-3.c
index f4fae420d701e0b2377637cb80d8d44c602528f0..64218422551a5ecc406a13f4d9f627b680c90c11 100644
--- a/test/pthread/pts-int/pthread_cancel/pts-1-3.c
+++ b/test/pthread/pts-int/pthread_cancel/pts-1-3.c
@@ -73,6 +73,8 @@ void *a_thread_func(void *dummy)
 		return (void*)PTS_UNRESOLVED;
 	}
 
+	pthread_mutex_unlock(&mutex);
+
 	/* Should get here if the cancel request was deffered. */
 	pthread_cleanup_pop(0);
 	cleanup_flag=1;