diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 0318e388ec21f3dbe2759eb39483f68334f886d5..7064d66979167c964e75cda8a439c9af5274ed97 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,9 @@
+2010-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libgomp/45240
+	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
+	at the end if sync builtins aren't supported.
+
 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
diff --git a/libgomp/parallel.c b/libgomp/parallel.c
index d83d1698fd5d0d203aa8fb6ff61b3433809ce122..c0966df9f9a54ac7ab5a22c105e9e167de861753 100644
--- a/libgomp/parallel.c
+++ b/libgomp/parallel.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
    Contributed by Richard Henderson <rth@redhat.com>.
 
    This file is part of the GNU OpenMP Library (libgomp).
@@ -123,6 +123,7 @@ GOMP_parallel_end (void)
 #else
 	  gomp_mutex_lock (&gomp_remaining_threads_lock);
 	  gomp_remaining_threads_count -= team->nthreads - 1;
+	  gomp_mutex_unlock (&gomp_remaining_threads_lock);
 #endif
 	}
     }