I'm using custom `UIBarButtonItem` with image for `backBarButtonItem`. I discovered strange behavior, because in addition to my image, the default Arrow icon is also displayed.

```
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        navigationItem.backBarButtonItem = UIBarButtonItem(image: #imageLiteral(resourceName: "BackButtonIcon"), style: .plain, target: nil, action: nil)
    }

    @IBAction private func push(_ button: UIButton) {
        let secondViewController = SecondViewController()
        navigationController?.pushViewController(secondViewController, animated: true)
    }

}

class SecondViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white
    }

}

```

Result is
[![enter image description here](https://i.stack.imgur.com/2I5AV.jpg)](https://i.stack.imgur.com/2I5AV.jpg)
[![UI debugger](https://i.stack.imgur.com/6iphw.png)](https://i.stack.imgur.com/6iphw.png)