diff --git a/src/metabase/models/field.clj b/src/metabase/models/field.clj
index 1a4e27f507f74017fb6967f12379d644f3c99d93..4d3830a35b81d193715e7d9e60ae26dd38aa09de 100644
--- a/src/metabase/models/field.clj
+++ b/src/metabase/models/field.clj
@@ -106,7 +106,7 @@
                                                (:fk_target_field_id field))]
                                 (:fk_target_field_id field)))
         id->target-field (u/key-by :id (when (seq target-field-ids)
-                                         (db/select Field :id [:in target-field-ids])))]
+                                         (filter i/can-read? (db/select Field :id [:in target-field-ids]))))]
     (for [field fields
           :let  [target-id (:fk_target_field_id field)]]
       (assoc field :target (id->target-field target-id)))))