diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py
index dc025800e659..0342f895646d 100644
--- a/bitbake/lib/bb/fetch2/wget.py
+++ b/bitbake/lib/bb/fetch2/wget.py
@@ -629,27 +629,22 @@ class Wget(FetchMethod):
             return ('', '')
         bb.debug(3, "latest_versionstring, regex: %s" % (package_regex.pattern))
 
-        uri = ""
-        regex_uri = d.getVar("UPSTREAM_CHECK_URI")
-        if not regex_uri:
-            path = ud.path.split(package)[0]
-
-            # search for version matches on folders inside the path, like:
-            # "5.7" in http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz
-            dirver_regex = re.compile(r"(?P<dirver>[^/]*(\d+\.)*\d+([-_]r\d+)*)/")
-            m = dirver_regex.findall(path)
-            if m:
-                pn = d.getVar('PN')
-                dirver = m[-1][0]
-
-                dirver_pn_regex = re.compile(r"%s\d?" % (re.escape(pn)))
-                if not dirver_pn_regex.search(dirver):
-                    return (self._check_latest_version_by_dir(dirver,
-                        package, package_regex, current_version, ud, d), '')
-
-            uri = bb.fetch.encodeurl([ud.type, ud.host, path, ud.user, ud.pswd, {}])
-        else:
-            uri = regex_uri
+        path = ud.path.split(package)[0]
+
+        # search for version matches on folders inside the path, like:
+        # "5.7" in http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz
+        dirver_regex = re.compile(r"(?P<dirver>[^/]*(\d+\.)*\d+([-_]r\d+)*)/")
+        m = dirver_regex.findall(path)
+        if m:
+            pn = d.getVar('PN')
+            dirver = m[-1][0]
+
+            dirver_pn_regex = re.compile(r"%s\d?" % (re.escape(pn)))
+            if not dirver_pn_regex.search(dirver):
+                return (self._check_latest_version_by_dir(dirver,
+                    package, package_regex, current_version, ud, d), '')
+
+        uri = bb.fetch.encodeurl([ud.type, ud.host, path, ud.user, ud.pswd, {}])
 
         return (self._check_latest_version(uri, package, package_regex,
                 current_version, ud, d), '')
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
index de1fbdd3a8c8..a42609060cd9 100644
--- a/meta/lib/oe/recipeutils.py
+++ b/meta/lib/oe/recipeutils.py
@@ -1041,8 +1041,13 @@ def get_recipe_upstream_version(rd):
         ru['datetime'] = datetime.now()
         return ru
 
-    # XXX: we suppose that the first entry points to the upstream sources
-    src_uri = src_uris.split()[0]
+    # If UPSTREAM_CHECK_URI is specified, assume it is correct and use
+    # it.  Otherwise, use the first SRC_URI specified to determine the
+    # latest version.
+    if rd.getVar('UPSTREAM_CHECK_URI'):
+        src_uri = str(rd.getVar('UPSTREAM_CHECK_URI'))
+    else:
+        src_uri = src_uris.split()[0]
     uri_type, _, _, _, _, _ =  decodeurl(src_uri)
 
     (pv, pfx, sfx) = get_recipe_pv_with_pfx_sfx(rd.getVar('PV'), uri_type)
