diff --git a/package-source-builder/overlay/usr/bin/apertis-pkg-pull-updates b/package-source-builder/overlay/usr/bin/apertis-pkg-pull-updates
index ab5e715a8c677bca79fdde78003c55035e69555e..6990b7533970fbbc80a17b69da99ae60e1b141af 100755
--- a/package-source-builder/overlay/usr/bin/apertis-pkg-pull-updates
+++ b/package-source-builder/overlay/usr/bin/apertis-pkg-pull-updates
@@ -15,6 +15,7 @@ import shlex
 import subprocess
 import sys
 import tempfile
+import urllib.parse
 import urllib.request
 import yaml
 
@@ -101,8 +102,12 @@ def get_remote_version(suite, package):
     >>> get_remote_version('jessie', 'dash')
     fetch https://qa.debian.org/madison.php?package=dash&yaml=on&s=jessie
     Version('0.5.7-4')
+    >>> get_remote_version('jessie', 'gtk+3.0')
+    fetch https://qa.debian.org/madison.php?package=gtk%2B3.0&yaml=on&s=jessie
+    Version('3.14.5-1+deb8u1')
     """
-    url = f'https://qa.debian.org/madison.php?package={package}&yaml=on&s={suite}'
+    quoted_package = urllib.parse.quote(package)
+    url = f'https://qa.debian.org/madison.php?package={quoted_package}&yaml=on&s={suite}'
     print('fetch', url)
     with urllib.request.urlopen(url) as response:
         data = yaml.safe_load(response.read().decode('utf-8'))