diff --git a/pgadmin/frm/frmQuery.cpp b/pgadmin/frm/frmQuery.cpp
index 9457882..224c722 100644
--- a/pgadmin/frm/frmQuery.cpp
+++ b/pgadmin/frm/frmQuery.cpp
@@ -1228,7 +1228,7 @@ void frmQuery::OnClearHistory(wxCommandEvent &event)
 void frmQuery::OnFocus(wxFocusEvent &ev)
 {
 	if (wxDynamicCast(this, wxFrame))
-		updateMenu(ev.GetEventObject());
+		updateMenu();
 	else
 	{
 		frmQuery *wnd = (frmQuery *)GetParent();
@@ -1402,7 +1402,7 @@ bool frmQuery::relatesToWindow(wxWindow *which, wxWindow *related)
 	return false;
 }
 
-void frmQuery::updateMenu(wxObject *obj)
+void frmQuery::updateMenu(bool allowUpdateModelSize)
 {
 	bool canCut = false;
 	bool canCopy = false;
@@ -1448,7 +1448,11 @@ void frmQuery::updateMenu(wxObject *obj)
 	}
 
 	canSaveExplain = explainCanvas->GetDiagram()->GetCount() > 0;
-	canSaveGQB = controller->getView()->canSaveAsImage();
+
+	if (allowUpdateModelSize)
+	{
+		canSaveGQB = controller->getView()->canSaveAsImage();
+	}
 
 	toolBar->EnableTool(MNU_UNDO, canUndo);
 	editMenu->Enable(MNU_UNDO, canUndo);
@@ -1677,7 +1681,9 @@ void frmQuery::OnChangeStc(wxStyledTextEvent &event)
 		changed = true;
 		setExtendedTitle();
 	}
-	updateMenu();
+	// do not allow updation of model size of GQB on input (key press) of each
+	// character of the query in Query Tool
+	updateMenu(false);
 }
 
 
diff --git a/pgadmin/include/frm/frmQuery.h b/pgadmin/include/frm/frmQuery.h
index df0a922..0e66adf 100644
--- a/pgadmin/include/frm/frmQuery.h
+++ b/pgadmin/include/frm/frmQuery.h
@@ -220,7 +220,7 @@ private:
 	void OnTimer(wxTimerEvent &event);
 
 	void OpenLastFile();
-	void updateMenu(wxObject *obj = 0);
+	void updateMenu(bool allowUpdateModelSize = true);
 	void execQuery(const wxString &query, int resultToRetrieve = 0, bool singleResult = false, const int queryOffset = 0, bool toFile = false, bool explain = false, bool verbose = false);
 	void OnQueryComplete(wxCommandEvent &ev);
 	void completeQuery(bool done, bool explain, bool verbose);
