diff --git a/warden3/contrib/warden_ra/warden_ra.py b/warden3/contrib/warden_ra/warden_ra.py
index 5c67686fa8197fb0291ccd4891884573905777de..ccbac97e51f89fac9b5aca17f7467dc38033d1b9 100755
--- a/warden3/contrib/warden_ra/warden_ra.py
+++ b/warden3/contrib/warden_ra/warden_ra.py
@@ -264,17 +264,19 @@ def list_clients(registry, name=None, verbose=False):
             print "No such client."
             return
         else:
-            clients = [client]
+            print(client)
+            if verbose:
+                print(client.verbose_str())
+            for cert in sorted(client.get_certs(), key=lambda c: c.get_not_after().get_datetime()):
+                print(format_cert(cert))
+                if verbose:
+                    print(cert.as_text())
     else:
         clients = registry.get_clients()
-    for client in clients:
-        print(client)
-        if verbose:
-            print(client.verbose_str())
-        for cert in sorted(client.get_certs(), key=lambda c: c.get_not_after().get_datetime()):
-            print(format_cert(cert))
+        for client in sorted (clients, key=lambda c: c.name):
+            print(client)
             if verbose:
-                print(cert.as_text())
+                print(client.verbose_str())
 
 
 def register_client(registry, name, admins=None, verbose=False):