Missing grid lines with MultipleLocator, set_smart_bounds and ax.axis("equal")

Dear matplotlib Gurus

If I run the script below then I end up creating a graph where some of
the grid lines are missing. The problem disappear if I remove the call
to ax.axis("equal") or the calls to set_smart_bounds(True).

I already found a different way to solve my problem, but I thought
that this bugreport might be useful to you.

Kind regards

      Niels

#!/usr/bin/env python

import numpy as np
imporot matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator

fig = plt.figure(1, frameon=False,)
ax = fig.add_subplot(1,1,1)

#If you remove these two line the problem disappears
ax.spines['left'].set_smart_bounds(True)
ax.spines['bottom'].set_smart_bounds(True)

#Grid
ax.xaxis.set_major_locator(MultipleLocator(0.2))
ax.xaxis.set_minor_locator(MultipleLocator(0.1))
ax.yaxis.set_major_locator(MultipleLocator(0.2))
ax.yaxis.set_minor_locator(MultipleLocator(0.1))
ax.xaxis.grid(True,'minor')
ax.yaxis.grid(True,'minor')
ax.xaxis.grid(True,'major',linewidth=2)
ax.yaxis.grid(True,'major',linewidth=2)

#If you remove this line the problem disappears
ax.axis("equal")

#The graph
phi=np.arange(0,np.pi,0.1)
ax.plot(np.cos(phi),np.sin(phi))

#Save
fig.savefig('unit_circle.png', dpi=200)