diff --git a/src/frontends/android/res/layout/profile_list_item.xml b/src/frontends/android/res/layout/profile_list_item.xml
index f55c8357a..93df7b649 100644
--- a/src/frontends/android/res/layout/profile_list_item.xml
+++ b/src/frontends/android/res/layout/profile_list_item.xml
@@ -46,4 +46,14 @@
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_marginLeft="15dp" />
+
+
diff --git a/src/frontends/android/src/org/strongswan/android/ui/adapter/VpnProfileAdapter.java b/src/frontends/android/src/org/strongswan/android/ui/adapter/VpnProfileAdapter.java
index 39e3e586a..85dc8370a 100644
--- a/src/frontends/android/src/org/strongswan/android/ui/adapter/VpnProfileAdapter.java
+++ b/src/frontends/android/src/org/strongswan/android/ui/adapter/VpnProfileAdapter.java
@@ -64,7 +64,25 @@ public class VpnProfileAdapter extends ArrayAdapter
tv = (TextView)vpnProfileView.findViewById(R.id.profile_item_gateway);
tv.setText(getContext().getString(R.string.profile_gateway_label) + " " + profile.getGateway());
tv = (TextView)vpnProfileView.findViewById(R.id.profile_item_username);
- tv.setText(getContext().getString(R.string.profile_username_label) + " " + profile.getUsername());
+ if (profile.getVpnType().getRequiresUsernamePassword())
+ { /* if the view is reused we make sure it is visible */
+ tv.setVisibility(View.VISIBLE);
+ tv.setText(getContext().getString(R.string.profile_username_label) + " " + profile.getUsername());
+ }
+ else
+ {
+ tv.setVisibility(View.GONE);
+ }
+ tv = (TextView)vpnProfileView.findViewById(R.id.profile_item_certificate);
+ if (profile.getVpnType().getRequiresCertificate())
+ {
+ tv.setText(getContext().getString(R.string.profile_user_certificate_label) + " " + profile.getUserCertificateAlias());
+ tv.setVisibility(View.VISIBLE);
+ }
+ else
+ {
+ tv.setVisibility(View.GONE);
+ }
return vpnProfileView;
}