Added a workaround against #116 (Thanks Andrey Somov).
diff --git a/lib/yaml/emitter.py b/lib/yaml/emitter.py
index 0932942..e6780ba 100644
--- a/lib/yaml/emitter.py
+++ b/lib/yaml/emitter.py
@@ -581,7 +581,9 @@
             return tag
         handle = None
         suffix = tag
-        for prefix in self.tag_prefixes:
+        prefixes = self.tag_prefixes.keys()
+        prefixes.sort()
+        for prefix in prefixes:
             if tag.startswith(prefix)   \
                     and (prefix == u'!' or len(prefix) < len(tag)):
                 handle = self.tag_prefixes[prefix]