                 nibImageView = newValue
             } else {
                 IBLog.write("overridingImageView = nibImageView")
-                if let source = overridingImageView,
-                    let destination = nibImageView
-                {
-                    destination.copyNonDefaultProperties(from: source)
-                }
                 overridingImageView = nibImageView
+                overridingImageView?.image = super.imageView?.image
                 super.imageView?.image = nil
             }
             IBLog.write("imageView set, done", indent: -1)

                nonNilLabel.text = "non nil"
                overridingDetailTextLabel = nonNilLabel
            } else {
                IBLog.write("overridingDetailTextLabel = nibDetailTextLabel")
                if let source = overridingDetailTextLabel,
                    let destination = nibDetailTextLabel
                {
                    destination.copyNonDefaultProperties(from: source)
                }
                overridingDetailTextLabel?.text = nil
                overridingDetailTextLabel = nibDetailTextLabel
            }
            IBLog.write("detailTextLabel set, done", indent: -1)

                nibTextLabel = newValue
            } else {
                IBLog.write("overridingTextLabel = nibTextLabel")
                overridingTextLabel = nibTextLabel
                super.textLabel?.text = nil
            }
