diff --git a/pgadmin/frm/frmEditGrid.cpp b/pgadmin/frm/frmEditGrid.cpp
index 5973434..e530bf0 100644
--- a/pgadmin/frm/frmEditGrid.cpp
+++ b/pgadmin/frm/frmEditGrid.cpp
@@ -881,6 +881,10 @@ void frmEditGrid::OnKey(wxKeyEvent &event)
 
             break;
 
+        case WXK_ESCAPE:
+            CancelChange();
+            break;
+
         default:
             if (sqlGrid->IsEditable() && keycode >= WXK_SPACE && keycode < WXK_START)
             {
@@ -904,6 +908,9 @@ void frmEditGrid::OnClose(wxCommandEvent& event)
 
 void frmEditGrid::OnCloseWindow(wxCloseEvent& event)
 {
+    wxGridEvent evt;
+    OnCellChange(evt);
+
     if (toolBar->GetToolEnabled(MNU_SAVE))
     {
         int flag=wxYES_NO | wxICON_QUESTION;
