diff --git a/beem/steemconnect.py b/beem/steemconnect.py
index 7c77e8c8fa20535200c525c752c1db450f6f467d..687e1ab2c0657c2700b362882b9d6946838d84e6 100644
--- a/beem/steemconnect.py
+++ b/beem/steemconnect.py
@@ -15,7 +15,6 @@ from .storage import configStorage as config
 from six import PY2
 from beem.instance import shared_steem_instance
 from beem.amount import Amount
-from collections import OrderedDict
 
 
 class SteemConnect(object):
@@ -109,7 +108,7 @@ class SteemConnect(object):
         if PY2:
             return urljoin(
                 self.oauth_base_url,
-                "authorize?" + urlencode(params).replace("+", "%20"))
+                "authorize?" + urlencode(params).replace('%2C', ','))
         else:
             return urljoin(
                 self.oauth_base_url,
@@ -250,7 +249,7 @@ class SteemConnect(object):
         operations = tx["operations"]
         for op in operations:
             operation = op[0]
-            params = OrderedDict(op[1])
+            params = op[1]
             for key in params:
                 value = params[key]
                 if isinstance(value, list) and len(value) == 3:
diff --git a/tests/beem/test_steemconnect.py b/tests/beem/test_steemconnect.py
index 647668062e72e9ccb17dcd402868702a1c1b37e5..bd22895d5e8cf965732b72f9fcbadcdcd3528f75 100644
--- a/tests/beem/test_steemconnect.py
+++ b/tests/beem/test_steemconnect.py
@@ -10,6 +10,7 @@ import unittest
 from parameterized import parameterized
 import random
 import json
+from six import PY2
 from pprint import pprint
 from beem import Steem, exceptions
 from beem.amount import Amount
@@ -64,7 +65,10 @@ class Testcases(unittest.TestCase):
             "test1", 1.000, "STEEM", memo="test")
         sc2 = SteemConnect(steem_instance=bts)
         url = sc2.url_from_tx(tx)
-        self.assertEqual(url, 'https://v2.steemconnect.com/sign/transfer?from=test&to=test1&amount=1.000+STEEM&memo=test')
+        if PY2:
+            self.assertEqual(url, 'https://v2.steemconnect.com/sign/transfer?from=test&memo=test&to=test1&amount=1.000+STEEM')
+        else:
+            self.assertEqual(url, 'https://v2.steemconnect.com/sign/transfer?from=test&to=test1&amount=1.000+STEEM&memo=test')
 
     @parameterized.expand([
         ("non_appbase"),
@@ -77,4 +81,7 @@ class Testcases(unittest.TestCase):
             bts = self.appbase
         sc2 = SteemConnect(steem_instance=bts)
         url = sc2.get_login_url("localhost", scope="login,vote")
-        self.assertEqual(url, 'https://v2.steemconnect.com/oauth2/authorize?client_id=None&redirect_uri=localhost&scope=login,vote')
+        if PY2:
+            self.assertEqual(url, 'https://v2.steemconnect.com/oauth2/authorize?client_id=None&scope=login,vote&redirect_uri=localhost')
+        else:
+            self.assertEqual(url, 'https://v2.steemconnect.com/oauth2/authorize?client_id=None&redirect_uri=localhost&scope=login,vote')