diff --git a/git-open b/git-open
index 5782da93da61461aec2cfdb00b86dc0f9e7ac405..ee5e2a1faf4b7465c348e0e9fe9bff20e3f541e8 100755
--- a/git-open
+++ b/git-open
@@ -24,7 +24,11 @@ def remote_url(remote_name):
 
 def to_http(url):
     if url[0:4] == "http":
-        return url
+        if "aur.archlinux.org" in url:
+            parts = url.split('/')
+            return '/'.join(parts[0:-1] + ['packages'] + [parts[-1]])
+        else:
+            return url
     if url[0:4] == "git@":
         base, path = url[4:].split(":")
         return "https://" + base + "/" + path
@@ -80,6 +84,8 @@ def main(args):
         err("All remotes failed")
 
 if __name__ == "__main__":
+    # Note that argparse gives `--help' and `-h', but git "eats"
+    # `--help'. `-h' does however work.
     parser = argparse.ArgumentParser(description='open git remotes in web browser')
     parser.add_argument('-n', '--dry-run', action='store_true', dest='dry_run')
     parser.add_argument('remote', action='store', nargs='?')