Linq sorting on sort order of inner group Is this the best way to do this sort?

assets.OrderBy(a =&gt;
    a.GalleryItems != null &amp;&amp;
    a.GalleryItems.FirstOrDefault() != null
        ? a.GalleryItems.OrderBy(gi =&gt; gi.SortOrder).First().SortOrder
        : 1000)


Basically I have a group of assets, which contain a group of gallery items with a sort order.  I need to get the lowest sort order from this group and sort the assets by that.  Gallery items can be null (it is coming through a service so I am unable to change this).
What about something like this:

assets.OrderBy(a =&gt; a.GalleryItems != null &amp;&amp; 
                    a.GalleryItems.Any()
                    ? a.GalleryItems.Min(gi =&gt; gi.SortOrder) 
                    : 1000)


It's actually a bit faster, since sorting the inner list takes longer than just getting the minimum value.