diff --git a/debian/build-deps b/debian/build-deps
index ed99909..86849ac 100644
--- a/debian/build-deps
+++ b/debian/build-deps
@@ -1,6 +1,6 @@
 @GST_LIB_DEV_DEP@
 @GST_EXTRA_BUILD_DEPENDS@
-libgstreamer-plugins-base@GST_ABI@-dev (>= 1.1.2)
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.1.3)
 autotools-dev
 dh-autoreconf
 automake (>= 1.11)
diff --git a/debian/build-deps.in b/debian/build-deps.in
index ed99909..86849ac 100644
--- a/debian/build-deps.in
+++ b/debian/build-deps.in
@@ -1,6 +1,6 @@
 @GST_LIB_DEV_DEP@
 @GST_EXTRA_BUILD_DEPENDS@
-libgstreamer-plugins-base@GST_ABI@-dev (>= 1.1.2)
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.1.3)
 autotools-dev
 dh-autoreconf
 automake (>= 1.11)
diff --git a/debian/changelog b/debian/changelog
index ed3d9a7..a54fc8d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+gst-plugins-good1.0 (1.1.3-1) experimental; urgency=low
+
+  * New upstream development snapshot:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.3.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 30 Jul 2013 08:46:19 +0200
+
 gst-plugins-good1.0 (1.1.2-1) experimental; urgency=low
 
   * New upstream development snapshot:
diff --git a/debian/control b/debian/control
index 260336e..e94612a 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,7 @@
 Uploaders: Loic Minier <lool@dooz.org>,
            Sebastian Dröge <slomo@debian.org>,
            Sjoerd Simons <sjoerd@debian.org>
-Build-Depends: libgstreamer1.0-dev (>= 1.1.2),  libraw1394-dev (>= 2.0.0) [linux-any] , libiec61883-dev (>= 1.0.0) [linux-any] , libavc1394-dev [linux-any] , libv4l-dev [linux-any] , libgudev-1.0-dev (>= 143) [linux-any], libgstreamer-plugins-base1.0-dev (>= 1.1.2), autotools-dev, dh-autoreconf, automake (>= 1.11), autoconf (>= 2.62), libtool (>= 2.2.6), autopoint (>= 0.17), cdbs (>= 0.4.93), debhelper (>= 9), dpkg-dev (>= 1.15.1), pkg-config (>= 0.11.0), gtk-doc-tools (>= 1.12), libglib2.0-dev (>= 2.32), liborc-0.4-dev (>= 1:0.4.17), libcairo2-dev (>= 1.10.0), libcaca-dev, libspeex-dev (>= 1.1.6), libpng-dev, libshout3-dev, libjpeg-dev, libaa1-dev (>= 1.4p5), libflac-dev (>= 1.1.4), libdv4-dev | libdv-dev, libxdamage-dev, libxext-dev, libxfixes-dev, libxv-dev, libgtk-3-dev, libtag1-dev (>= 1.5), libwavpack-dev (>= 4.20), gstreamer1.0-plugins-base (>= 1.0.0), libsoup2.4-dev (>= 2.26.1), libpulse-dev (>= 2.0), libbz2-dev, gstreamer1.0-doc, gstreamer1.0-plugins-base-doc, libjack-jackd2-dev, libvpx-dev (>= 1.1.0)
+Build-Depends: libgstreamer1.0-dev (>= 1.1.3),  libraw1394-dev (>= 2.0.0) [linux-any] , libiec61883-dev (>= 1.0.0) [linux-any] , libavc1394-dev [linux-any] , libv4l-dev [linux-any] , libgudev-1.0-dev (>= 143) [linux-any], libgstreamer-plugins-base1.0-dev (>= 1.1.3), autotools-dev, dh-autoreconf, automake (>= 1.11), autoconf (>= 2.62), libtool (>= 2.2.6), autopoint (>= 0.17), cdbs (>= 0.4.93), debhelper (>= 9), dpkg-dev (>= 1.15.1), pkg-config (>= 0.11.0), gtk-doc-tools (>= 1.12), libglib2.0-dev (>= 2.32), liborc-0.4-dev (>= 1:0.4.17), libcairo2-dev (>= 1.10.0), libcaca-dev, libspeex-dev (>= 1.1.6), libpng-dev, libshout3-dev, libjpeg-dev, libaa1-dev (>= 1.4p5), libflac-dev (>= 1.1.4), libdv4-dev | libdv-dev, libxdamage-dev, libxext-dev, libxfixes-dev, libxv-dev, libgtk-3-dev, libtag1-dev (>= 1.5), libwavpack-dev (>= 4.20), gstreamer1.0-plugins-base (>= 1.0.0), libsoup2.4-dev (>= 2.26.1), libpulse-dev (>= 2.0), libbz2-dev, gstreamer1.0-doc, gstreamer1.0-plugins-base-doc, libjack-jackd2-dev, libvpx-dev (>= 1.1.0)
 Standards-Version: 3.9.3
 
 Package: gstreamer1.0-plugins-good-doc
diff --git a/debian/patches/0001-souphttpsrc-ignore-errors-from-HEAD-request.patch b/debian/patches/0001-souphttpsrc-ignore-errors-from-HEAD-request.patch
deleted file mode 100644
index f3b8273..0000000
--- a/debian/patches/0001-souphttpsrc-ignore-errors-from-HEAD-request.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 9a7321872f6902dd829599aab02f193eec307ac7 Mon Sep 17 00:00:00 2001
-From: Thiago Santos <thiago.sousa.santos@collabora.com>
-Date: Thu, 11 Jul 2013 20:41:23 -0300
-Subject: [PATCH 1/2] souphttpsrc: ignore errors from HEAD request
-
-HEAD requests are used to check the server headers to see if it
-seekable. Ignore errors from those requests as they shouldn't be
-critical.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=704053
----
- ext/soup/gstsouphttpsrc.c | 82 ++++++++++++++++++++++++++---------------------
- 1 file changed, 46 insertions(+), 36 deletions(-)
-
-diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c
-index 79f6109..b7f6de0 100644
---- a/ext/soup/gstsouphttpsrc.c
-+++ b/ext/soup/gstsouphttpsrc.c
-@@ -937,10 +937,15 @@ gst_soup_http_src_finished_cb (SoupMessage * msg, GstSoupHTTPSrc * src)
-     src->ret = GST_FLOW_CUSTOM_ERROR;
-   } else if (G_UNLIKELY (src->session_io_status !=
-           GST_SOUP_HTTP_SRC_SESSION_IO_STATUS_RUNNING)) {
--    /* FIXME: reason_phrase is not translated, add proper error message */
--    GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
--        ("%s", msg->reason_phrase),
--        ("libsoup status code %d", msg->status_code));
-+    if (msg->method == SOUP_METHOD_HEAD) {
-+      GST_DEBUG_OBJECT (src, "Ignoring error %d:%s during HEAD request",
-+          msg->status_code, msg->reason_phrase);
-+    } else {
-+      /* FIXME: reason_phrase is not translated, add proper error message */
-+      GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
-+          ("%s", msg->reason_phrase),
-+          ("libsoup status code %d", msg->status_code));
-+    }
-   }
-   if (src->loop)
-     g_main_loop_quit (src->loop);
-@@ -1112,38 +1117,43 @@ static void
- gst_soup_http_src_parse_status (SoupMessage * msg, GstSoupHTTPSrc * src)
- {
-   if (SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code)) {
--    switch (msg->status_code) {
--      case SOUP_STATUS_CANT_RESOLVE:
--      case SOUP_STATUS_CANT_RESOLVE_PROXY:
--        SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, NOT_FOUND,
--            _("Could not resolve server name."));
--        src->ret = GST_FLOW_ERROR;
--        break;
--      case SOUP_STATUS_CANT_CONNECT:
--      case SOUP_STATUS_CANT_CONNECT_PROXY:
--        SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, OPEN_READ,
--            _("Could not establish connection to server."));
--        src->ret = GST_FLOW_ERROR;
--        break;
--      case SOUP_STATUS_SSL_FAILED:
--        SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, OPEN_READ,
--            _("Secure connection setup failed."));
--        src->ret = GST_FLOW_ERROR;
--        break;
--      case SOUP_STATUS_IO_ERROR:
--        SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, READ,
--            _("A network error occured, or the server closed the connection "
--                "unexpectedly."));
--        src->ret = GST_FLOW_ERROR;
--        break;
--      case SOUP_STATUS_MALFORMED:
--        SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, READ,
--            _("Server sent bad data."));
--        src->ret = GST_FLOW_ERROR;
--        break;
--      case SOUP_STATUS_CANCELLED:
--        /* No error message when interrupted by program. */
--        break;
-+    if (msg->method == SOUP_METHOD_HEAD) {
-+      GST_DEBUG_OBJECT (src, "Ignoring error %d during HEAD request",
-+          msg->status_code);
-+    } else {
-+      switch (msg->status_code) {
-+        case SOUP_STATUS_CANT_RESOLVE:
-+        case SOUP_STATUS_CANT_RESOLVE_PROXY:
-+          SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, NOT_FOUND,
-+              _("Could not resolve server name."));
-+          src->ret = GST_FLOW_ERROR;
-+          break;
-+        case SOUP_STATUS_CANT_CONNECT:
-+        case SOUP_STATUS_CANT_CONNECT_PROXY:
-+          SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, OPEN_READ,
-+              _("Could not establish connection to server."));
-+          src->ret = GST_FLOW_ERROR;
-+          break;
-+        case SOUP_STATUS_SSL_FAILED:
-+          SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, OPEN_READ,
-+              _("Secure connection setup failed."));
-+          src->ret = GST_FLOW_ERROR;
-+          break;
-+        case SOUP_STATUS_IO_ERROR:
-+          SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, READ,
-+              _("A network error occured, or the server closed the connection "
-+                  "unexpectedly."));
-+          src->ret = GST_FLOW_ERROR;
-+          break;
-+        case SOUP_STATUS_MALFORMED:
-+          SOUP_HTTP_SRC_ERROR (src, msg, RESOURCE, READ,
-+              _("Server sent bad data."));
-+          src->ret = GST_FLOW_ERROR;
-+          break;
-+        case SOUP_STATUS_CANCELLED:
-+          /* No error message when interrupted by program. */
-+          break;
-+      }
-     }
-   } else if (SOUP_STATUS_IS_CLIENT_ERROR (msg->status_code) ||
-       SOUP_STATUS_IS_REDIRECTION (msg->status_code) ||
--- 
-1.8.3.2
-
diff --git a/debian/patches/series b/debian/patches/series
index 2cc0f6d..2497acb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
-0001-souphttpsrc-ignore-errors-from-HEAD-request.patch
 99_ltmain_as-needed.patch
diff --git a/debian/rules b/debian/rules
index 758e1cd..0948806 100755
--- a/debian/rules
+++ b/debian/rules
@@ -46,7 +46,7 @@
 gst_lib=libgstreamer$(gst_abi)-0
 gst_lib_dev=libgstreamer$(gst_abi)-dev
 # what gstreamer version is needed
-gst_lib_dev_dep=$(gst_lib_dev) (>= 1.1.2)
+gst_lib_dev_dep=$(gst_lib_dev) (>= 1.1.3)
 
 gst_pkgname=gstreamer$(gst_abi)
 gst_deb_abi=$(gst_abi)-0
