diff --git a/src/org/ccil/cowan/tagsoup/Parser.java b/src/org/ccil/cowan/tagsoup/Parser.java
index 41b5517..66d2922 100644
--- a/src/org/ccil/cowan/tagsoup/Parser.java
+++ b/src/org/ccil/cowan/tagsoup/Parser.java
@@ -17,6 +17,7 @@
 package org.ccil.cowan.tagsoup;
 import java.util.HashMap;
 import java.util.ArrayList;
+import java.util.Locale;
 import java.io.*;
 import java.net.URL;
 import java.net.URLConnection;
@@ -535,7 +536,7 @@
 		if (theNewElement == null) return;
 		// Currently we don't rely on Schema to canonicalize
 		// attribute names.
-		theAttributeName = makeName(buff, offset, length).toLowerCase();
+		theAttributeName = makeName(buff, offset, length).toLowerCase(Locale.ROOT);
 //		System.err.println("%% Attribute name " + theAttributeName);
 		}
 
diff --git a/src/org/ccil/cowan/tagsoup/Schema.java b/src/org/ccil/cowan/tagsoup/Schema.java
index 0d99a23..11bae59 100644
--- a/src/org/ccil/cowan/tagsoup/Schema.java
+++ b/src/org/ccil/cowan/tagsoup/Schema.java
@@ -16,6 +16,7 @@
 
 package org.ccil.cowan.tagsoup;
 import java.util.HashMap;
+import java.util.Locale;
 
 /**
 Abstract class representing a TSSL schema.
@@ -53,7 +54,7 @@
 
 	public void elementType(String name, int model, int memberOf, int flags) {
 		ElementType e = new ElementType(name, model, memberOf, flags, this);
-		theElementTypes.put(name.toLowerCase(), e);
+		theElementTypes.put(name.toLowerCase(Locale.ROOT), e);
 		if (memberOf == M_ROOT) theRoot = e;
 		}
 
@@ -119,7 +120,7 @@
 	**/
 
 	public ElementType getElementType(String name) {
-		return (ElementType)(theElementTypes.get(name.toLowerCase()));
+		return (ElementType)(theElementTypes.get(name.toLowerCase(Locale.ROOT)));
 		}
 
 	/**
