diff --git a/apps/permission/backends.py b/apps/permission/backends.py
index e61b07191227d755f52ebe6953a0897029f980fe..62b0c09f186d901507931457694229ac1d5b4e38 100644
--- a/apps/permission/backends.py
+++ b/apps/permission/backends.py
@@ -89,6 +89,7 @@ class PermissionBackend(ModelBackend):
             query = query | perm.query
         return query
 
+    @staticmethod
     def has_perm(self, user_obj, perm, obj=None):
         if user_obj is None or isinstance(user_obj, AnonymousUser):
             return False
diff --git a/apps/permission/permissions.py b/apps/permission/permissions.py
index d9816a63ad0d3bad0dc13ca3e5af8449fbc32f62..9fb36f35758568de1c2fe130a7f01b66933797c0 100644
--- a/apps/permission/permissions.py
+++ b/apps/permission/permissions.py
@@ -41,8 +41,8 @@ class StrongDjangoObjectPermissions(DjangoObjectPermissions):
         user = request.user
 
         perms = self.get_required_object_permissions(request.method, model_cls)
-
-        if not user.has_perms(perms, obj):
+        # if not user.has_perms(perms, obj):
+        if not all(PermissionBackend.has_perm(user, perm, obj) for perm in perms):
             # If the user does not have permissions we need to determine if
             # they have read permissions to see 403, or not, and simply see
             # a 404 response.