diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py
index 821afa5b58..0ce6e25c5c 100644
--- a/bitbake/lib/bb/fetch2/wget.py
+++ b/bitbake/lib/bb/fetch2/wget.py
@@ -360,10 +360,16 @@ class Wget(FetchMethod):

                 try:
                     import netrc
+                    # Pseudo can cause ownership mismatch issues with netrc, which is
+                    # required to be owned by the current user (root).
+                    if os.environ.get("PSEUDO_DISABLED") == "0":
+                        os.chown(os.path.join(os.path.expanduser("~"), ".netrc"), 0, 0)
                     n = netrc.netrc()
                     login, unused, password = n.authenticators(urllib.parse.urlparse(uri).hostname)
                     add_basic_auth("%s:%s" % (login, password), r)
-                except (TypeError, ImportError, IOError, netrc.NetrcParseError):
+                except netrc.NetrcParseError as e:
+                    logger.debug("netrc failed: %s" % e)
+                except (TypeError, ImportError, IOError) as e:
                     pass

                 with opener.open(r, timeout=30) as response:
