diff --git a/oslo_messaging/transport.py b/oslo_messaging/transport.py
index 556529ff8..b62ab1c4f 100644
--- a/oslo_messaging/transport.py
+++ b/oslo_messaging/transport.py
@@ -432,7 +432,7 @@ class TransportURL(object):
             username = password = port = None
 
             if '@' in host:
-                username, hostname = host.split('@', 1)
+                username, hostname = host.rsplit('@', 1)
                 if ':' in username:
                     username, password = username.split(':', 1)
                     password = parse.unquote(password)