diff --git a/beat/web/common/api.py b/beat/web/common/api.py
index 5fb277f215719bb4b804b8e2725b2744129a904f..2ce7b761aacdd1e7924e5221abde3bac49a1f4c8 100644
--- a/beat/web/common/api.py
+++ b/beat/web/common/api.py
@@ -235,46 +235,26 @@ class RetrieveUpdateDestroyContributionView(
 ):
     model = Contribution
 
-    def get_queryset(self):
-        version = self.kwargs.get("version", None)
-        author_name = self.kwargs.get("author_name")
-        object_name = self.kwargs.get("object_name")
+    def get_object(self):
+        version = self.kwargs["version"]
+        author_name = self.kwargs["author_name"]
+        object_name = self.kwargs["object_name"]
         user = self.request.user
-        if version is not None:
-            queryset = (
-                self.model.objects.for_user(user, True)
-                .filter(
-                    author__username__iexact=author_name,
-                    name__iexact=object_name,
-                    version__gte=version,
-                )
-                .order_by("version")
-            )
-        else:
-            queryset = (
-                self.model.objects.for_user(user, True)
-                .filter(author__username__iexact=author_name, name__iexact=object_name)
-                .order_by("-version")
+        try:
+            obj = self.model.objects.for_user(user, True).get(
+                author__username__iexact=author_name,
+                name__iexact=object_name,
+                version=version,
             )
-
-        return queryset
-
-    def get(self, request, *args, **kwargs):
-        db_objects = self.get_queryset()
-
-        if db_objects.count() == 0:
+        except self.model.DoesNotExist:
             raise drf_exceptions.NotFound()
+        return obj
 
-        db_object = db_objects[0]
-        version = int(self.kwargs.get("version", -1))
-
-        if version != -1 and db_object.version != version:
-            raise drf_exceptions.NotFound()
+    def get(self, request, *args, **kwargs):
+        db_object = self.get_object()
 
         # Process the query string
-        allow_sharing = hasattr(db_object, "author") and (
-            request.user == db_object.author
-        )
+        allow_sharing = request.user == db_object.author
 
         fields_to_return = self.get_serializer_fields(
             request, allow_sharing=allow_sharing