diff --git a/lib/matplotlib/backends/backend_qt4.py b/lib/matplotlib/backends/backend_qt4.py
index 623b245ef7da..01cc80bfd944 100644
--- a/lib/matplotlib/backends/backend_qt4.py
+++ b/lib/matplotlib/backends/backend_qt4.py
@@ -318,7 +318,9 @@ def __init__( self, canvas, num ):
         # requested size:
         cs = canvas.sizeHint()
         sbs = self.window.statusBar().sizeHint()
-        self.window.resize(cs.width(), cs.height()+tbs_height+sbs.height())
+        self._status_and_tool_height = tbs_height+sbs.height()
+        height = cs.height() + self._status_and_tool_height
+        self.window.resize(cs.width(), height)
 
         self.window.setCentralWidget(self.canvas)
 
@@ -364,7 +366,7 @@ def _get_toolbar(self, canvas, parent):
 
     def resize(self, width, height):
         'set the canvas size in pixels'
-        self.window.resize(width, height)
+        self.window.resize(width, height + self._status_and_tool_height)
 
     def show(self):
         self.window.show()