diff --git a/kwant/_plotter.py b/kwant/_plotter.py
index 771e9ba281999efc07f2aece0a7fc0169d19be63..991fed41473f8ac045b39387c4fd490ce24f7869 100644
--- a/kwant/_plotter.py
+++ b/kwant/_plotter.py
@@ -119,9 +119,12 @@ if mpl_available:
 
         phi = np.linspace(0, pi, 21)
         xyz = np.c_[np.cos(phi), np.sin(phi), 0 * phi].T.reshape(-1, 1, 21)
-        unit_sphere = np.bmat([[xyz[0], xyz[2]], [xyz[1], xyz[0]],
-                                [xyz[2], xyz[1]]])
-        unit_sphere = np.asarray(unit_sphere)
+        # TODO: use np.block once we depend on numpy >= 1.13.
+        unit_sphere = np.vstack([
+            np.hstack([xyz[0], xyz[2]]),
+            np.hstack([xyz[1], xyz[0]]),
+            np.hstack([xyz[2], xyz[1]]),
+        ])
 
         def projected_length(ax, length):
             rc = np.array([ax.get_xlim3d(), ax.get_ylim3d(), ax.get_zlim3d()])