Index: includes/Parser.php
===================================================================
--- includes/Parser.php	(revision 22112)
+++ includes/Parser.php	(working copy)
@@ -1738,13 +1738,7 @@
 				if ( $ns == NS_IMAGE ) {
 					wfProfileIn( "$fname-image" );
 					if ( !wfIsBadImage( $nt->getDBkey(), $this->mTitle ) ) {
-						# recursively parse links inside the image caption
-						# actually, this will parse them in any other parameters, too,
-						# but it might be hard to fix that, and it doesn't matter ATM
-						$text = $this->replaceExternalLinks($text);
-						$text = $this->replaceInternalLinks($text);
-
-						# cloak any absolute URLs inside the image markup, so replaceExternalLinks() won't touch them
+						# cloak any absolute URLs inside the image markup, so replaceExternalLinks() won't touch them, not sure this is necessary
 						$s .= $prefix . $this->armorLinks( $this->makeImage( $nt, $text ) ) . $trail;
 						$this->mOutput->addImage( $nt->getDBkey() );
 
@@ -4422,7 +4416,18 @@
 		#  * bottom
 		#  * text-bottom
 
-
+		if($this->mOptions->getUseDynamicDates()) {
+			$df =& DateFormatter::getInstance();
+			$options = $df->reformat( $this->mOptions->getDateFormat(), $options );
+		}
+		$options = $this->doAllQuotes( $options );
+		
+		# recursively parse links inside the image caption
+		# actually, this will parse them in any other parameters, too,
+		# but it might be hard to fix that, and it doesn't matter ATM
+		$options = $this->replaceExternalLinks($options);
+		$options = $this->replaceInternalLinks($options);
+		
 		$part = array_map( 'trim', explode( '|', $options) );
 
 		$mwAlign = array();
