diff --git a/swh/lister/gitweb/lister.py b/swh/lister/gitweb/lister.py
index 8d0d81b83fbd095ed94fc2f96be1b84b4f1c85c7..1710ba79556882c0655e1e8dafd517bfbaa2c18e 100644
--- a/swh/lister/gitweb/lister.py
+++ b/swh/lister/gitweb/lister.py
@@ -167,13 +167,9 @@ def try_to_determine_git_repository(repository_url: str) -> Optional[str]:
     """
     result = None
     parsed_url = urlparse(repository_url)
-    params = parse_qs(parsed_url.query).get("p")
-    if params:
-        repo = params[0]
-        if repo and repo.endswith(";a=summary"):
-            repo = repo.rstrip(";a=summary")
-
-        result = f"git://{parsed_url.netloc}/{repo}"
+    repo = parse_qs(parsed_url.query, separator=";").get("p")
+    if repo:
+        result = f"git://{parsed_url.netloc}/{repo[0]}"
     return result
 
 
diff --git a/swh/lister/gitweb/tests/test_lister.py b/swh/lister/gitweb/tests/test_lister.py
index 1c83e7dc0ec8902b6998a3cbbe8de6c76b83619f..dbb5ecbf4c2e4cce845443196b75b2ce5e8ff642 100644
--- a/swh/lister/gitweb/tests/test_lister.py
+++ b/swh/lister/gitweb/tests/test_lister.py
@@ -138,6 +138,10 @@ def test_lister_gitweb_get_origin_from_repo_failing(
             "https://git.shadowcat.co.uk?p=File-Slurp.git;a=summary",
             "git://git.shadowcat.co.uk/File-Slurp.git",
         ),
+        (
+            "https://git.example.org?p=baaaa;a=summary",
+            "git://git.example.org/baaaa",
+        ),
         ("https://domain.org/foobar", None),
     ],
 )