Index: /FCKeditor/trunk/editor/_source/commandclasses/fck_othercommands.js
===================================================================
--- /FCKeditor/trunk/editor/_source/commandclasses/fck_othercommands.js	(revision 500)
+++ /FCKeditor/trunk/editor/_source/commandclasses/fck_othercommands.js	(revision 501)
@@ -412,2 +412,22 @@
 	}
 } ;
+
+// FCKCopyCommand
+var FCKCopyCommand = function()
+{
+	this.Name = 'Copy' ;
+}
+
+FCKCopyCommand.prototype = 
+{
+	Execute : function()
+	{
+		FCK.ExecuteNamedCommand( this.Name ) ;
+	},
+
+	GetState : function()
+	{
+		// Strangely, the cut command happens to have the correct states for both Copy and Cut in all browsers.
+		return FCK.GetNamedCommandState( 'Cut' ) ;
+	}
+};
Index: /FCKeditor/trunk/editor/_source/internals/fckcommands.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckcommands.js	(revision 500)
+++ /FCKeditor/trunk/editor/_source/internals/fckcommands.js	(revision 501)
@@ -107,4 +107,5 @@
 		case 'Undo'	: oCommand = new FCKUndoCommand() ; break ;
 		case 'Redo'	: oCommand = new FCKRedoCommand() ; break ;
+		case 'Copy'	: oCommand = new FCKCopyCommand() ; break ;
 
 		case 'SelectAll' : oCommand = new FCKSelectAllCommand() ; break ;
