diff --git a/src/main/java/org/owasp/html/HtmlEntities.java b/src/main/java/org/owasp/html/HtmlEntities.java
index 08423268..6c1e6636 100644
--- a/src/main/java/org/owasp/html/HtmlEntities.java
+++ b/src/main/java/org/owasp/html/HtmlEntities.java
@@ -2232,6 +2232,7 @@ public static int appendDecodedEntity(
case 'y': case 'z':
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
+ case '-': case '_':
break;
case '=':
// An equal sign after an entity missing a closing semicolon should
diff --git a/src/test/java/org/owasp/html/HtmlEntitiesTest.java b/src/test/java/org/owasp/html/HtmlEntitiesTest.java
new file mode 100644
index 00000000..347cd05f
--- /dev/null
+++ b/src/test/java/org/owasp/html/HtmlEntitiesTest.java
@@ -0,0 +1,24 @@
+package org.owasp.html;
+
+import org.junit.Test;
+
+import junit.framework.TestCase;
+
+@SuppressWarnings("javadoc")
+public class HtmlEntitiesTest extends TestCase {
+
+ @Test
+ public void testAfterAmpString() {
+ String input = "order";
+ String output = Encoding.decodeHtml(input);
+ assertEquals("order", output);
+
+ input = "order";
+ output = Encoding.decodeHtml(input);
+ assertEquals("order", output);
+
+ input = "order";
+ output = Encoding.decodeHtml(input);
+ assertEquals("order", output);
+ }
+}
\ No newline at end of file