                 overridingDetailTextLabel = nonNilLabel
             } else {
                 IBLog.write("overridingDetailTextLabel = nibDetailTextLabel")
+                if let source = overridingDetailTextLabel,
+                    let destination = nibDetailTextLabel
+                {
+                    destination.copyNonDefaultProperties(from: source)
+                }
                 overridingDetailTextLabel?.text = nil
                 overridingDetailTextLabel = nibDetailTextLabel
             }

                nibImageView = newValue
            } else {
                IBLog.write("overridingImageView = nibImageView")
                overridingImageView = nibImageView
                overridingImageView?.image = super.imageView?.image
                super.imageView?.image = nil
            }
            IBLog.write("imageView set, done", indent: -1)

                nibTextLabel = newValue
            } else {
                IBLog.write("overridingTextLabel = nibTextLabel")
                if let source = overridingTextLabel,
                    let destination = nibTextLabel
                {
                    destination.copyNonDefaultProperties(from: source)
                }
                overridingTextLabel = nibTextLabel
                super.textLabel?.text = nil
            }
