Index: /MediaWiki/trunk/extensions/FCKeditor/FCKeditor.body.php
===================================================================
--- /MediaWiki/trunk/extensions/FCKeditor/FCKeditor.body.php	(revision 585)
+++ /MediaWiki/trunk/extensions/FCKeditor/FCKeditor.body.php	(revision 586)
@@ -103,6 +103,6 @@
         if ($wgUseTeX) {
             //it may add much overload on page with huge amount of math content...
-            $text = preg_replace('/<img class="tex" alt="([^"]*)"/m', '<img alt="$1" _fck_mw_math="$1"', $text);
-            $text = preg_replace("/<img class='tex' src=\"([^\"]*)\" alt=\"([^\"]*)\"/m", '<img src="$1" alt="$2" _fck_mw_math="$2"', $text);
+			$text = preg_replace('/<img class="tex" alt="([^"]*)"/m', '<img _fckfakelement="true" _fck_mw_math="$1"', $text);
+			$text = preg_replace("/<img class='tex' src=\"([^\"]*)\" alt=\"([^\"]*)\"/m", '<img src="$1" _fckfakelement="true" _fck_mw_math="$2"', $text);
         }
         
Index: /MediaWiki/trunk/extensions/FCKeditor/plugins/mediawiki/dialogs/math.html
===================================================================
--- /MediaWiki/trunk/extensions/FCKeditor/plugins/mediawiki/dialogs/math.html	(revision 585)
+++ /MediaWiki/trunk/extensions/FCKeditor/plugins/mediawiki/dialogs/math.html	(revision 586)
@@ -98,4 +98,5 @@
 	
 	SetAttribute( oMathImage, "_fck_mw_math", GetE('xTemplateRaw').value.Trim() ) ;
+	SetAttribute( oMathImage, "_fckfakelement", 'true' ) ;
 
 	oMathImage.src = response.responseText ;
Index: /MediaWiki/trunk/extensions/FCKeditor/plugins/mediawiki/fckplugin.js
===================================================================
--- /MediaWiki/trunk/extensions/FCKeditor/plugins/mediawiki/fckplugin.js	(revision 585)
+++ /MediaWiki/trunk/extensions/FCKeditor/plugins/mediawiki/fckplugin.js	(revision 586)
@@ -134,5 +134,5 @@
 				// Here we found an element that is not the real element, but a
 				// fake one (like the Flash placeholder image), so we must get the real one.
-				if ( htmlNode.getAttribute('_fckfakelement') )
+				if ( htmlNode.getAttribute('_fckfakelement') && !htmlNode.getAttribute( '_fck_mw_math' ) )
 					return this._AppendNode( FCK.GetRealElement( htmlNode ), stringBuilder ) ;
 
@@ -574,4 +574,9 @@
 				contextMenu.AddItem( 'MW_Ref', 'Reference Properties' ) ;
 			}
+			if ( tag.getAttribute( '_fck_mw_math' ) )
+			{
+				contextMenu.AddSeparator() ;
+				contextMenu.AddItem( 'MW_Math', 'Edit Formula' ) ;
+			}
 		}
 	}
