             return true
         }
         if value(forSymbol: "width", dependsOn: "inferredSize.width"),
-            !_usesAutoLayout, view.intrinsicContentSize.width == UIViewNoIntrinsicMetric,
-            expressions["contentSize"] == nil, expressions["contentSize.width"] == nil {
+            expressions["contentSize"] == nil, expressions["contentSize.width"] == nil,
+            !_usesAutoLayout, view.intrinsicContentSize.width == UIViewNoIntrinsicMetric, children.isEmpty {
             _widthDependsOnParent = true
             return true
         }

    public private(set) var children: [LayoutNode]
    public private(set) weak var parent: LayoutNode? {
        didSet {
            if _setupComplete {
                cleanUp()
                overrideExpressions()

            return true
        }
        if value(forSymbol: "height", dependsOn: "inferredSize.height"),
            expressions["contentSize"] == nil, expressions["contentSize.height"] == nil,
            !_usesAutoLayout, view.intrinsicContentSize.height == UIViewNoIntrinsicMetric, children.isEmpty {
            _heightDependsOnParent = true
            return true
        }
