Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 5004)
+++ /CKEditor/trunk/CHANGES.html	(revision 5005)
@@ -67,4 +67,5 @@
 		<li><a href="http://dev.fckeditor.net/ticket/5040">#5040</a> : The editor will not properly ignore font related settings that have extra item separators (semi-colons).</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4046">#4046</a> : Justify should respect config.enterMode = CKEDITOR.ENTER_BR.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4622">#4622</a> : Inserting table multiple times will corrupt the undo system.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.fckeditor.net/ticket/5006">#5006</a> : Dutch;</li>
Index: /CKEditor/trunk/_source/plugins/undo/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/undo/plugin.js	(revision 5004)
+++ /CKEditor/trunk/_source/plugins/undo/plugin.js	(revision 5005)
@@ -391,5 +391,8 @@
 			this.index = image.index;
 
-			this.currentImage = image;
+			// Update current image with the actual editor
+			// content, since actualy content may differ from
+			// the original snapshot due to dom change. (#4622) 
+			this.snapshots.splice( this.index, 1, ( this.currentImage =  new Image( this.editor ) ) );
 
 			this.fireChange();
