Problem With Boundary Mesh when applied to a two dimensional mesh

The following code produces a boundary mesh, which contains surplus lines. I am not sure how it 100% sure how the boundary mesh should look like.

Your help will be much appreciated.

from dolfin import *
from mshr import *
import matplotlib.pyplot as pyplot

parameters[“reorder_dofs_serial”] = False
parameters[“allow_extrapolation”] = True

channel = Rectangle(Point(-2.0,-2.0), Point(5.0, 2.0))
cylinder = Circle(Point(-0.5, 0.5), 0.5)
domain = channel - cylinder
mesh = generate_mesh(domain,16)

bmesh = BoundaryMesh(mesh,‘exterior’)
plot(bmesh)
pyplot.savefig(‘bmesh.png’)

This might be a problem of matplotlib? I don’t see any strange behavior using vtkplotter.dolfin:

from dolfin import *
from mshr import *

channel = Rectangle(Point(-2.0, -2.0), Point(5.0, 2.0))
cylinder = Circle(Point(-0.5, 0.5), 0.5)
domain = channel - cylinder
mesh = generate_mesh(domain, 16)

bmesh = BoundaryMesh(mesh, "exterior")

from vtkplotter.dolfin import plot
plot(mesh,  at=0, N=2, bg="white")
plot(bmesh, at=1, lw=3)