Changing the plotting code to assign the result to fig fixes the issue:
fig = plt.figure(figsize=(12,8))
fig=sm.graphics.plot_regress_exog(ols_test,'lastqu',fig=fig)
Thanks for the pointer:
statsmodels is returning the figure instance, ipython in some settings insists on plotting twice github.com/statsmodels/statsmodels/issues/1265 – user333700