diff --git a/pyhmmer/hmmer.py b/pyhmmer/hmmer.py
index 685dc9b5f1382f0b9f80f4b6e22323919a89f915..4b5a9bd7428a7ccabfd6eb58e5b1fb2310048e64 100644
--- a/pyhmmer/hmmer.py
+++ b/pyhmmer/hmmer.py
@@ -1533,8 +1533,8 @@ if __name__ == "__main__":
                             print(
                                 hit.name.decode(),
                                 (hit.accession or b"-").decode(),
-                                (hits.query_name or b"-").decode(),
-                                (hits.query_accession or b"-").decode(),
+                                (hits.query.name or b"-").decode(),
+                                (hits.query.accession or b"-").decode(),
                                 hit.evalue,
                                 hit.score,
                                 hit.bias,
@@ -1655,8 +1655,8 @@ if __name__ == "__main__":
                             print(
                                 hit.name.decode(),
                                 (hit.accession or b"-").decode(),
-                                (hits.query_name or b"-").decode(),
-                                (hits.query_accession or b"-").decode(),
+                                (hits.query.name or b"-").decode(),
+                                (hits.query.accession or b"-").decode(),
                                 hit.evalue,
                                 hit.score,
                                 hit.bias,
diff --git a/pyhmmer/plan7.pyi b/pyhmmer/plan7.pyi
index 5c9fd058ac03bb70ca9ef48eba1a65e4025a0407..4e8023c8c312528e7fa755225d1c98ce3f4d1fb4 100644
--- a/pyhmmer/plan7.pyi
+++ b/pyhmmer/plan7.pyi
@@ -875,6 +875,8 @@ class TopHits(typing.Sequence[Hit]):
     @property
     def query_length(self) -> int: ...
     @property
+    def query(self) -> typing.Union[DigitalSequence, DigitalMSA, HMM, Profile, OptimizedProfile]: ...
+    @property
     def Z(self) -> float: ...
     @property
     def domZ(self) -> float: ...