--- undo.c	2014-08-11 03:12:57.000000000 +0000
+++ undo.c.new	2014-08-11 03:13:33.000000000 +0000
@@ -1782,8 +1782,11 @@
 #endif
 
 #ifdef FEAT_CRYPT
-    if (bi.bi_state != NULL && undo_flush(&bi) == FAIL)
-	write_ok = FALSE;
+    if (bi.bi_buffer != NULL)
+    {
+        if (bi.bi_state != NULL && undo_flush(&bi) == FAIL)
+            write_ok = FALSE;
+    }
 #endif
 
 write_error:
