This closes #2911
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
index 4ed0b49..0bf0017 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/view/ConnectionView.java
@@ -70,13 +70,11 @@
          .add("protocol", toString(connection.getProtocolName()))
          .add("clientID", toString(connection.getClientID() != null ? connection.getClientID() : jmsSessionClientID))
          .add("localAddress", toString(connection.getTransportLocalAddress()))
-         .add("sessionCount", server.getSessions(connection.getID().toString()).size());
+         .add("sessionCount", sessions.size());
    }
 
    @Override
    public Object getField(RemotingConnection connection, String fieldName) {
-      List<ServerSession> sessions = server.getSessions(connection.getID().toString());
-
       switch (fieldName) {
          case "connectionID":
             return connection.getID();
@@ -84,6 +82,7 @@
             return connection.getRemoteAddress();
          case "users":
             Set<String> users = new TreeSet<>();
+            List<ServerSession> sessions = server.getSessions(connection.getID().toString());
             for (ServerSession session : sessions) {
                String username = session.getUsername() == null ? "" : session.getUsername();
                users.add(username);
@@ -100,7 +99,7 @@
          case "localAddress":
             return connection.getTransportLocalAddress();
          case "sessionCount":
-            return sessions.size();
+            return server.getSessions(connection.getID().toString()).size();
          default:
             throw new IllegalArgumentException("Unsupported field, " + fieldName);
       }