diff --git a/app/policies/collection_policy.rb b/app/policies/collection_policy.rb
index 7ca595c7cd867bdbaf48d7f9c858c140a0fe1a21..b39a280f49d2ced6d8ecca66b31597661d2c42d5 100644
--- a/app/policies/collection_policy.rb
+++ b/app/policies/collection_policy.rb
@@ -7,8 +7,12 @@ class CollectionPolicy < ApplicationPolicy
 
   class Scope < Scope
     def resolve
-      if !user.nil? && user.is_admin?
-        scope.all
+      if !user.nil?
+        if user.is_admin?
+          scope.all
+        else
+          scope.includes(:collection_items).where.not(:collection_items => {:collection_id => nil}).where("privacy = ? OR owner_id = ?", 'public', user.id)
+        end
       else
         scope.includes(:collection_items).where.not(:collection_items => {:collection_id => nil}).where(privacy: 'public')
       end