diff --git a/app/policies/collection_policy.rb b/app/policies/collection_policy.rb
index b39a280f49d2ced6d8ecca66b31597661d2c42d5..9721408518245252b7fb8482729dd1a5005be1c3 100644
--- a/app/policies/collection_policy.rb
+++ b/app/policies/collection_policy.rb
@@ -7,8 +7,8 @@ class CollectionPolicy < ApplicationPolicy
 
   class Scope < Scope
     def resolve
-      if !user.nil?
-        if user.is_admin?
+      if user_exists?
+        if user_can_moderate?
           scope.all
         else
           scope.includes(:collection_items).where.not(:collection_items => {:collection_id => nil}).where("privacy = ? OR owner_id = ?", 'public', user.id)
diff --git a/app/serializers/collection_item_serializer.rb b/app/serializers/collection_item_serializer.rb
index 60c59d539e02a9b728b34dfea947c9e46a819aa8..5bb19b6e93ff72cc1afd1059f2fa57c4f2197c3f 100644
--- a/app/serializers/collection_item_serializer.rb
+++ b/app/serializers/collection_item_serializer.rb
@@ -4,7 +4,7 @@ class CollectionItemSerializer < ActiveModel::Serializer
   def collectionable
     if ( object.collectionable_type == "LearningObject" )
     	serializer = ::LearningObjectSerializer
-    elsif ( object.public? || (current_user && ( object.owner?(current_user) || current_user.is_admin? )) )
+    elsif ( object.public? || (current_user && ( object.owner?(current_user) || current_user.can_moderate? )) )
     	serializer = ::CollectionMinSerializer
     end