 <p>No, you can't, but you can pass the <code>:allow_nil =&gt; true</code> option to return nil if the master is nil.</p> <pre><code>class User &lt; ActiveRecord::Base delegate :company, :to =&gt; :master, :allow_nil =&gt; true # ... end user.master = nil user.company # =&gt; nil user.master = &lt;#User ...&gt; user.company # =&gt; ... </code></pre> <p>Otherwise, you need to write your own custom method instead using the delegate macro for more complex options.</p> <pre><code>class User &lt; ActiveRecord::Base # ... def company master.company if has_master? end end </code></pre>