diff --git a/src/metabase/models/field.clj b/src/metabase/models/field.clj
index 8e2a163ec4041451645c9973a53fffabf9d4d4ad..be152324c887229aece3ab70fe548b3962f2e06c 100644
--- a/src/metabase/models/field.clj
+++ b/src/metabase/models/field.clj
@@ -2,7 +2,8 @@
   (:require [korma.core :refer :all]
             [metabase.api.common :refer [check]]
             [metabase.db :refer :all]
-            (metabase.models [database :refer [Database]])
+            (metabase.models [database :refer [Database]]
+                             [foreign-key :refer [ForeignKey]])
             [metabase.util :as util]))
 
 (def special-types
@@ -73,10 +74,13 @@
 (defentity Field
   (table :metabase_field))
 
-(defmethod post-select Field [_ {:keys [table_id] :as field}]
+(defmethod post-select Field [_ {:keys [id special_type table_id] :as field}]
   (util/assoc* field
                :table     (delay (sel :one 'metabase.models.table/Table :id table_id))
                :db        (delay @(:db @(:table <>)))
+               :target    (delay (when (= "fk" special_type)
+                                   (let [dest-id (:destination_id (sel :one :fields [ForeignKey :destination_id] :origin_id id))]
+                                     (sel :one Field :id dest-id))))
                :can_read  (delay @(:can_read @(:table <>)))
                :can_write (delay @(:can_write @(:table <>)))))