diff --git a/SOURCES/GCancellable_drop_lock_for_callback.patch b/SOURCES/GCancellable_drop_lock_for_callback.patch
new file mode 100644
index 0000000..21c5256
--- /dev/null
+++ b/SOURCES/GCancellable_drop_lock_for_callback.patch
@@ -0,0 +1,43 @@
+From 44606b2e5219d114cfaae2c8fbc48c7fffb2a9c0 Mon Sep 17 00:00:00 2001
+From: Ryan Lortie <desrt@desrt.ca>
+Date: Mon, 28 Oct 2013 11:44:16 -0700
+Subject: [PATCH] GCancellable: drop lock for callback during connect()
+
+Don't hold the lock when calling the user's callback during
+g_cancellable_connect() for the case that the cancellable has already
+fired.
+
+Taken from a patch by Alex Larsson.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=705395
+---
+ gio/gcancellable.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/gio/gcancellable.c b/gio/gcancellable.c
+index fc56b87..2e52141 100644
+--- a/gio/gcancellable.c
++++ b/gio/gcancellable.c
+@@ -557,6 +557,8 @@ g_cancellable_connect (GCancellable   *cancellable,
+       void (*_callback) (GCancellable *cancellable,
+                          gpointer      user_data);
+ 
++      g_mutex_unlock (&cancellable_mutex);
++
+       _callback = (void *)callback;
+       id = 0;
+ 
+@@ -571,9 +573,10 @@ g_cancellable_connect (GCancellable   *cancellable,
+                                   callback, data,
+                                   (GClosureNotify) data_destroy_func,
+                                   0);
++
++      g_mutex_unlock (&cancellable_mutex);
+     }
+ 
+-  g_mutex_unlock (&cancellable_mutex);
+ 
+   return id;
+ }
+-- 
+1.8.3.1
\ No newline at end of file
diff --git a/SOURCES/gmain_fix_double_unlock.patch b/SOURCES/gmain_fix_double_unlock.patch
new file mode 100644
index 0000000..4c2ff69
--- /dev/null
+++ b/SOURCES/gmain_fix_double_unlock.patch
@@ -0,0 +1,38 @@
+From 0513c855cba69b96e4c9d2200719249a8a0c586e Mon Sep 17 00:00:00 2001
+From: Dan Winship <danw@gnome.org>
+Date: Wed, 10 Apr 2013 11:39:12 -0400
+Subject: [PATCH] gmain: fix double-unlock in g_main_context_unref()
+
+When unreffing a context with sources still attached, it would end up
+unlocking an already-unlocked context, causing crashes on platforms
+that (unlike Linux) actually check for that.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=697595
+---
+ glib/gmain.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/glib/gmain.c b/glib/gmain.c
+index 68a7f8e..d6037ba 100644
+--- a/glib/gmain.c
++++ b/glib/gmain.c
+@@ -520,12 +520,16 @@ g_main_context_unref (GMainContext *context)
+   main_context_list = g_slist_remove (main_context_list, context);
+   G_UNLOCK (main_context_list);
+ 
++  /* g_source_iter_next() assumes the context is locked. */
++  LOCK_CONTEXT (context);
+   g_source_iter_init (&iter, context, TRUE);
+   while (g_source_iter_next (&iter, &source))
+     {
+       source->context = NULL;
+-      g_source_destroy_internal (source, context, FALSE);
++      g_source_destroy_internal (source, context, TRUE);
+     }
++  UNLOCK_CONTEXT (context);
++
+   for (sl_iter = context->source_lists; sl_iter; sl_iter = sl_iter->next)
+     {
+       list = sl_iter->data;
+-- 
+1.8.1.4
\ No newline at end of file
diff --git a/SPECS/glib2.spec b/SPECS/glib2.spec
index c32ea27..f77c726 100644
--- a/SPECS/glib2.spec
+++ b/SPECS/glib2.spec
@@ -1,13 +1,15 @@
 Summary: A library of handy utility functions
 Name: glib2
 Version: 2.36.3
-Release: 2%{?dist}
+Release: 5%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtk.org
 #VCS: git:git://git.gnome.org/glib
 Source: http://download.gnome.org/sources/glib/2.36/glib-%{version}.tar.xz
 Patch0: 0001-Revert-g_file_set_contents-don-t-fsync-on-ext3-4.patch
+Patch1: GCancellable_drop_lock_for_callback.patch
+Patch2: gmain_fix_double_unlock.patch
 
 BuildRequires: pkgconfig
 BuildRequires: gettext
@@ -66,6 +68,8 @@ The glib2-fam package contains the FAM (File Alteration Monitor) module for GIO.
 %prep
 %setup -q -n glib-%{version}
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 autoreconf -i -f
 
@@ -188,6 +192,18 @@ gio-querymodules-%{__isa_bits} %{_libdir}/gio/modules
 %{_libdir}/gio/modules/libgiofam.so
 
 %changelog
+* Tue Feb 11 2014 Colin Walters <walters@redhat.com> - 2.36.3-5
+- Backport patch to fix gnome-shell lockups
+  Resolves: #1030601
+- Backport patch to fix vmtoolsd hangs
+  Resolves: #1063789
+
+* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 2.36.3-4
+- Mass rebuild 2014-01-24
+
+* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.36.3-3
+- Mass rebuild 2013-12-27
+
 * Thu Jun 20 2013 Colin Walters <walters@redhat.com> - 2.36.3-2
 - Backport patch from upstream to fix dconf corruption, among
   other failures. (#975521)