diff --git a/buildstream/plugins/sources/remote.py b/buildstream/plugins/sources/remote.py
index ad4cdab8b2fc01be0099db0b9939b9f615f47586..ea0e612c24c01dfc530dba43eee7d6dcd8804d89 100644
--- a/buildstream/plugins/sources/remote.py
+++ b/buildstream/plugins/sources/remote.py
@@ -49,6 +49,7 @@ remote - stage files from remote urls
 
 """
 import os
+import stat
 from buildstream import SourceError, utils
 from ._downloadablefilesource import DownloadableFileSource
 
@@ -75,6 +76,7 @@ class RemoteSource(DownloadableFileSource):
         dest = os.path.join(directory, self.filename)
         with self.timed_activity("Staging remote file to {}".format(dest)):
             utils.safe_copy(self._get_mirror_file(), dest)
+            os.chmod(dest, stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH)
 
 
 def setup():