diff --git a/.classpath b/.classpath
index b4693ca..0e98dcf 100644
--- a/.classpath
+++ b/.classpath
@@ -81,15 +81,15 @@
 			<attribute name="javadoc_location" value="jar:platform:/resource/gitblit/ext/org.eclipse.jgit.http.server-1.0.0.201106090707-r-javadoc.jar!/"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="lib" path="ext/markdownpapers-core-1.1.0.jar" sourcepath="ext/markdownpapers-core-1.1.0-sources.jar">
-		<attributes>
-			<attribute name="javadoc_location" value="jar:platform:/resource/gitblit/ext/markdownpapers-core-1.1.0-javadoc.jar!/"/>
-		</attributes>
-	</classpathentry>
 	<classpathentry kind="lib" path="ext/jetty-webapp-7.4.3.v20110701.jar" sourcepath="ext/jetty-webapp-7.4.3.v20110701-sources.jar">
 		<attributes>
 			<attribute name="javadoc_location" value="jar:platform:/resource/gitblit/ext/jetty-webapp-7.4.3.v20110701-javadoc.jar!/"/>
 		</attributes>
 	</classpathentry>
+	<classpathentry kind="lib" path="ext/markdownpapers-core-1.1.1.jar" sourcepath="ext/markdownpapers-core-1.1.1-sources.jar">
+		<attributes>
+			<attribute name="javadoc_location" value="jar:platform:/resource/gitblit/ext/markdownpapers-core-1.1.1-javadoc.jar!/"/>
+		</attributes>
+	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/src/com/gitblit/build/Build.java b/src/com/gitblit/build/Build.java
index 66bf49a..5b04d24 100644
--- a/src/com/gitblit/build/Build.java
+++ b/src/com/gitblit/build/Build.java
@@ -394,10 +394,10 @@
 				237000, 0, 0, "c94f54227b08100974c36170dcb53329435fe5ad", "", "");
 
 		public static final MavenObject MARKDOWNPAPERS = new MavenObject("MarkdownPapers",
-				"org/tautua/markdownpapers", "markdownpapers-core", "1.1.0", 87000, 58000, 278000,
-				"b879b4720fa642d3c490ab559af132daaa16dbb4",
-				"d98c53939815be2777d5a56dcdc3bbc9ddb468fa",
-				"4c09d2d3073e85b973572292af00bd69681df76b");
+				"org/tautua/markdownpapers", "markdownpapers-core", "1.1.1", 87000, 58000, 278000,
+				"07046e6d8f33866398dfc3955698925df9ff7719",
+				"178b49c34dbab6301ce848b67e7957bcf9b94d6a",
+				"160d370f6cb119a1b46a00f37cc28d23fd27daed");
 
 		public static final MavenObject BOUNCYCASTLE = new MavenObject("BouncyCastle",
 				"org/bouncycastle", "bcprov-jdk16", "1.46", 1900000, 1400000, 4670000,
diff --git a/tests/com/gitblit/tests/MarkdownUtilsTest.java b/tests/com/gitblit/tests/MarkdownUtilsTest.java
index 2034bda..8a70625 100644
--- a/tests/com/gitblit/tests/MarkdownUtilsTest.java
+++ b/tests/com/gitblit/tests/MarkdownUtilsTest.java
@@ -24,8 +24,12 @@
 public class MarkdownUtilsTest extends TestCase {
 
 	public void testMarkdown() throws Exception {
-		assertTrue(MarkdownUtils.transformMarkdown("# H1").equals("<h1> H1</h1>"));
-		assertTrue(MarkdownUtils.transformMarkdown("## H2").equals("<h2> H2</h2>"));
+		assertEquals("<h1> H1</h1>", MarkdownUtils.transformMarkdown("# H1"));
+		assertEquals("<h2> H2</h2>", MarkdownUtils.transformMarkdown("## H2"));
+		assertEquals("<p><strong>THIS</strong> is a test</p>", MarkdownUtils.transformMarkdown("**THIS** is a test"));
+		assertEquals("<p>** THIS ** is a test</p>", MarkdownUtils.transformMarkdown("** THIS ** is a test"));
+		assertEquals("<p>**THIS ** is a test</p>", MarkdownUtils.transformMarkdown("**THIS ** is a test"));
+		assertEquals("<p>** THIS** is a test</p>", MarkdownUtils.transformMarkdown("** THIS** is a test"));
 		try {
 			MarkdownUtils.transformMarkdown((String) null);
 			assertTrue(false);
