diff --git a/libwccl/lexicon/lexfilegrammar.g b/libwccl/lexicon/lexfilegrammar.g
index a0cb15940c72835dd84269a0d463c1510badb48e..19640c6667a661b29189388001097d2983f2fce4 100644
--- a/libwccl/lexicon/lexfilegrammar.g
+++ b/libwccl/lexicon/lexfilegrammar.g
@@ -5,7 +5,6 @@ header {
 	#include <antlr/Token.hpp>
 	
 	#include <boost/shared_ptr.hpp>
-	#include <boost/make_shared.hpp>
 	
 	#include <libwccl/lexicon/lexicon.h>
 	
@@ -57,7 +56,7 @@ parse_lexicon_file
 	[const std::string& name]
 	returns [boost::shared_ptr<Lexicon> lex]
 {
-	lex = boost::make_shared<Lexicon>(name);
+	lex.reset(new Lexicon(name));
 }
 	: (lexicon_entry [*lex])*
 	  EOF
@@ -113,4 +112,4 @@ NEWLINE
 		| '\r'
 		| '\n'
 		) { newline(); $setType(antlr::Token::SKIP); }
-;
\ No newline at end of file
+;
diff --git a/libwccl/lexicon/lexicon.cpp b/libwccl/lexicon/lexicon.cpp
index e985d194e8eec26d3c6b319b4f78b92a193f74c4..3dd0f38513c840c7e6a454f06d899c963c3c1992 100644
--- a/libwccl/lexicon/lexicon.cpp
+++ b/libwccl/lexicon/lexicon.cpp
@@ -4,10 +4,11 @@
 #include <libpwrutils/foreach.h>
 
 #include <boost/make_shared.hpp>
+#include <unicode/unistr.h>
 
 namespace Wccl {
 
-const UnicodeString& Lexicon::translate(const icu_44::UnicodeString &key) const
+const UnicodeString& Lexicon::translate(const UnicodeString &key) const
 {
 	static UnicodeString empty;
 	map_t::const_iterator i = map_.find(key);