diff -rN -u old-openid-2.0/lib/openid/message.rb new-openid-2.0/lib/openid/message.rb
--- old-openid-2.0/lib/openid/message.rb	2007-07-26 11:35:11.400841464 +0900
+++ new-openid-2.0/lib/openid/message.rb	2007-07-26 11:35:11.660856672 +0900
@@ -374,7 +374,7 @@
       # Fall back to generating a numberical alias
       i = 0
       while true
-        _alias = i.to_s
+        _alias = "ext" + i.to_s
         begin
           self.add_alias(namespace_uri, _alias)
         rescue IndexError
diff -rN -u old-openid-2.0/lib/openid/util.rb new-openid-2.0/lib/openid/util.rb
--- old-openid-2.0/lib/openid/util.rb	2007-07-26 11:35:11.396841230 +0900
+++ new-openid-2.0/lib/openid/util.rb	2007-07-26 11:35:11.656856438 +0900
@@ -160,7 +160,7 @@
     
     def Util.append_args(url, args)
       url = url.dup
-      url if args.length == 0
+      return url if args.length == 0
       url << (url.include?("?") ? "&" : "?")
       url << Util.urlencode(args)
     end
diff -rN -u old-openid-2.0/test/message.rb new-openid-2.0/test/message.rb
--- old-openid-2.0/test/message.rb	2007-07-26 11:35:11.408841932 +0900
+++ new-openid-2.0/test/message.rb	2007-07-26 11:35:11.836866967 +0900
@@ -425,7 +425,7 @@
 
   def _test_urlencoded(s)
     expected = "openid.error=unit+test&openid.mode=error&openid.ns=#{CGI.escape(OPENID2_NS)}&xey=value"
-    assert_equal(expected, s)
+    assert_equal(expected.split(/&/).sort, s.split(/&/).sort)
   end
 
   def test_to_urlencoded
@@ -614,7 +614,10 @@
     (1..23).each { |i|
       assert_equal(false, nsm.contains?(uripat % i))
       assert_equal(false, nsm.defined?(uripat % i))
-      nsm.add()
+      nsm.add(uripat % i)
+    }
+    nsm.each { |uri, _alias|
+      assert_equal(uri[22..-1], _alias[3..-1])
     }
   end
 
diff -rN -u old-openid-2.0/test/util.rb new-openid-2.0/test/util.rb
--- old-openid-2.0/test/util.rb	2007-07-26 11:35:11.404841698 +0900
+++ new-openid-2.0/test/util.rb	2007-07-26 11:35:11.704859246 +0900
@@ -51,6 +51,14 @@
     assert_equal(max, OpenID::Util.base64_to_num(OpenID::Util.num_to_base64(max)))
   end
 
+  def test_append_args
+    simple = "http://www.example.com/"
+    assert_equal(simple, OpenID::Util.append_args(simple, []))
+    assert_equal(simple, OpenID::Util.append_args(simple, {}))
+    assert_equal(simple + "?a=b", OpenID::Util.append_args(simple, [["a", "b"]]))
+    assert_equal(simple + "?a=b", OpenID::Util.append_args(simple, {"a" => "b"}))
+  end
+
 end
 
 
