<script>
  var annotations="<subst:annotations/>";
  var CICURI="<subst:CICURI/>";
+ var cleanCICURI="<subst:cleanCICURI/>";
  var CICURL = "<subst:CICURL/>";
  var DCRDFURL = "<subst:DCRDFURL/>";
  var DirectRDFURL = "<subst:DirectRDFURL/>";
   <li>
     <script>
      var url = processorURL + "apply?keys=MC%2CRT%2CL&xmluri=" +
-         getterURL + "getxml%3Furi%3D" + CICURI +
+         getterURL + "getxml%3Furi%3D" + cleanCICURI +
          "&prop.media-type=text/html&prop.encoding=iso-8859-1" +
-         "&param.CICURI=" + CICURI + "&param.profile=" + profile +
+         "&param.CICURI=" + cleanCICURI + "&param.profile=" + profile +
          "&profile=" + profile;
      document.write(
       '<a target="result" href="' + url + '">View metadata</a>'
   </li>
   <li>
     <script>
-     url = proofcheckerURL + "proofCheck?uri=" + CICURI;
+     url = proofcheckerURL + "proofCheck?uri=" + cleanCICURI;
      document.write(
       '<a target="result" href="' + url + '">Proof check</a>'
      );
 
  <xsl:value-of select="$CICURI"/>
 </xsl:template>
 
+<xsl:template match="subst:cleanCICURI">
+ <xsl:variable name="uri" select="$CICURI"/>
+ <xsl:variable name="uri_before_body" select="substring-before($uri,'.body')"/>
+ <xsl:variable name="cleanuri">
+  <xsl:choose>
+   <xsl:when test="$uri_before_body = ''">
+    <xsl:value-of select="$uri"/>
+   </xsl:when>
+   <xsl:otherwise>
+    <xsl:value-of select="$uri_before_body"/>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:variable>
+ <xsl:value-of select="$cleanuri"/>
+</xsl:template>
+
 <xsl:template match="subst:base_CICURI">
   <xsl:variable name="len" select="string-length($CICURI)" />
   <xsl:variable name="extension">