diff --git a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
index 0ec1bac..b9603e5 100644
--- a/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
+++ b/src/com/android/contacts/quickcontact/ExpandingEntryCardView.java
@@ -470,14 +470,14 @@
         }
 
         final TextView header = (TextView) view.findViewById(R.id.header);
-        if (entry.getHeader() != null) {
+        if (!TextUtils.isEmpty(entry.getHeader())) {
             header.setText(entry.getHeader());
         } else {
             header.setVisibility(View.GONE);
         }
 
         final TextView subHeader = (TextView) view.findViewById(R.id.sub_header);
-        if (entry.getSubHeader() != null) {
+        if (!TextUtils.isEmpty(entry.getSubHeader())) {
             subHeader.setText(entry.getSubHeader());
         } else {
             subHeader.setVisibility(View.GONE);
@@ -491,7 +491,7 @@
         }
 
         final TextView text = (TextView) view.findViewById(R.id.text);
-        if (entry.getText() != null) {
+        if (!TextUtils.isEmpty(entry.getText())) {
             text.setText(entry.getText());
         } else {
             text.setVisibility(View.GONE);
