Index: plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java
===================================================================
--- plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java	(revision 42701)
+++ plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java	(working copy)
@@ -38,6 +38,7 @@
 	private String username;
 	private String password;
 	private IUser delegate;
+	private IDomain cachedDefaultDomain;
 	private boolean rememberPassword;
 	private boolean connected;
 	private boolean alreadyPromptedForPassword;
@@ -233,11 +234,16 @@
 	
 	public IDomain getDefaultDomain() throws OpenShiftException {
 		if(checkForPassword()) {
-			return delegate.getDefaultDomain();
+			cachedDefaultDomain = delegate.getDefaultDomain();
+			return cachedDefaultDomain;
 		} 
 		return null;
 	}
-	
+
+	public IDomain getCachedDefaultDomain() throws OpenShiftException {
+		return cachedDefaultDomain;
+	}
+
 	public List<IEmbeddableCartridge> getEmbeddableCartridges()
 			throws OpenShiftException {
 		if(checkForPassword()) {
Index: plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/property/UserPropertySource.java
===================================================================
--- plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/property/UserPropertySource.java	(revision 42701)
+++ plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/property/UserPropertySource.java	(working copy)
@@ -10,6 +10,13 @@
  ******************************************************************************/
 package org.jboss.tools.openshift.express.internal.ui.viewer.property;
 
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.views.properties.IPropertyDescriptor;
 import org.eclipse.ui.views.properties.IPropertySource;
 import org.eclipse.ui.views.properties.PropertyDescriptor;
@@ -44,8 +51,7 @@
 				new PropertyDescriptor(PROPERTY_DOMAIN, PROPERTY_DOMAIN) };
 	}
 
-	@Override
-	public Object getPropertyValue(Object id) {
+	public Object getPropertyValue_LEGACY (Object id) {
 		try {
 			if(!user.isConnected() && !user.canPromptForPassword()) {
 				return OpenShiftExpressUIMessages.USER_NOT_CONNECTED_LABEL;
@@ -65,7 +71,58 @@
 		}
 		return null;
 	}
+	@Override
+	public Object getPropertyValue(Object id) {
+		try {
+			if(!user.isConnected() && !user.canPromptForPassword()) {
+				return OpenShiftExpressUIMessages.USER_NOT_CONNECTED_LABEL;
+			}
+				
+			boolean requiresConnect = !user.isConnected() && user.canPromptForPassword();
+			boolean requiresDomain = user.getCachedDefaultDomain() == null;
+			if( requiresConnect || requiresDomain ) {
+				loadRemoteDetails();
+			}
+			
+			if (id.equals(PROPERTY_USERNAME)) {
+				return user.getUsername();
+			}
+			if (id.equals(PROPERTY_DOMAIN) && user.hasDomain()) {
+				return user.getDefaultDomain().getId() + "." + user.getDefaultDomain().getSuffix();
+			}
+		} catch (OpenShiftException e) {
+		 	Logger.error("Could not get selected object's property '" + id + "'.", e);
+		}
+		return null;
+	}
 
+	private void loadRemoteDetails() throws OpenShiftException  {
+		IRunnableWithProgress longRunning = new IRunnableWithProgress() {
+			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException  {
+				monitor.beginTask("Checking Remote Details", 200);
+				try {
+					if( !user.isConnected() && user.canPromptForPassword())
+						user.checkForPassword();
+					monitor.worked(100);
+					if( user.isConnected())
+						user.getDefaultDomain();
+					monitor.worked(100);
+				} catch(OpenShiftException ose) {
+					throw new InvocationTargetException(ose);
+				} finally {
+					monitor.done();
+				}
+			}
+		};
+		try {
+			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(longRunning);
+		} catch( InvocationTargetException ite ) {
+			Throwable t = ite.getCause();
+			throw (OpenShiftException)t;
+		} catch( InterruptedException ie ) {
+		}
+	}
+	
 	@Override
 	public void resetPropertyValue(Object id) {
 		// TODO Auto-generated method stub
