diff --git a/res/layout/view_activity_layout.xml b/res/layout/view_activity_layout.xml
index 58e0388..cb6b7dd 100644
--- a/res/layout/view_activity_layout.xml
+++ b/res/layout/view_activity_layout.xml
@@ -43,11 +43,14 @@
             android:id="@+id/personal_card_small"
             android:layout_width="wrap_content"
             android:layout_height="19dp"
-            android:layout_marginBottom="18dp"
             android:layout_marginLeft="72dp"
             android:layout_marginTop="1dp"
             android:textColor="#FFFFFF"
             android:textSize="14sp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="18dp"></LinearLayout>
     </LinearLayout>
     <include layout="@layout/tabs"/>
 </LinearLayout>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e81fb03..031a217 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -80,16 +80,26 @@
         <item>@string/hh</item>
         <item>@string/unknown_blood_type</item>
     </string-array>
+    <!-- Blood type values. Do not translate -->
     <string-array name="blood_type_values">
-        <item>@string/oplus</item>
-        <item>@string/ominus</item>
-        <item>@string/aplus</item>
-        <item>@string/aminus</item>
-        <item>@string/bplus</item>
-        <item>@string/bminus</item>
-        <item>@string/abplus</item>
-        <item>@string/abminus</item>
-        <item>@string/hh</item>
+        <!-- Do not translate -->
+        <item>0+</item>
+        <!-- Do not translate -->
+        <item>O-</item>
+        <!-- Do not translate -->
+        <item>A+</item>
+        <!-- Do not translate -->
+        <item>A-</item>
+        <!-- Do not translate -->
+        <item>B+</item>
+        <!-- Do not translate -->
+        <item>B-</item>
+        <!-- Do not translate -->
+        <item>AB+</item>
+        <!-- Do not translate -->
+        <item>AB-</item>
+        <!-- Do not translate -->
+        <item>H/H</item>
         <item></item>
     </string-array>
     <!-- Content descriptions for the blood types, used for talkback. -->
@@ -146,9 +156,12 @@
         <item>@string/no</item>
         <item>@string/unknown_organ_donor</item>
     </string-array>
+    <!-- Organ donor values. Do not translate -->
     <string-array name="organ_donor_values">
-        <item>@string/yes</item>
-        <item>@string/no</item>
+        <!-- Do not translate -->
+        <item>Yes</item>
+        <!-- Do not translate -->
+        <item>No</item>
         <item></item>
     </string-array>
     <!-- The title of the emergency contacts preference. [CHAR_LIMIT=40] -->
diff --git a/res/xml/edit_emergency_info.xml b/res/xml/edit_emergency_info.xml
index 219ce02..dff7761 100644
--- a/res/xml/edit_emergency_info.xml
+++ b/res/xml/edit_emergency_info.xml
@@ -41,6 +41,7 @@
         android:entryValues="@array/blood_type_values"
         android:icon="@drawable/ic_bloodtype_black_24dp"
         android:key="blood_type"
+        android:defaultValue=""
         android:negativeButtonText="@null"
         android:positiveButtonText="@null"
         android:summary="@string/unknown_blood_type"
@@ -71,6 +72,7 @@
         android:entryValues="@array/organ_donor_values"
         android:icon="@drawable/ic_heart_black_24dp"
         android:key="organ_donor"
+        android:defaultValue=""
         android:negativeButtonText="@null"
         android:positiveButtonText="@null"
         android:summary="@string/unknown_organ_donor"
diff --git a/src/com/android/emergency/preferences/AutoCompleteEditTextPreference.java b/src/com/android/emergency/preferences/AutoCompleteEditTextPreference.java
index 3ec2b45..96cf217 100644
--- a/src/com/android/emergency/preferences/AutoCompleteEditTextPreference.java
+++ b/src/com/android/emergency/preferences/AutoCompleteEditTextPreference.java
@@ -16,6 +16,7 @@
 package com.android.emergency.preferences;
 
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.SharedPreferences;
 import android.content.res.TypedArray;
 import android.graphics.Rect;
@@ -25,16 +26,17 @@
 import android.preference.DialogPreference;
 import android.text.TextUtils;
 import android.util.AttributeSet;
+import android.view.KeyEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewParent;
 import android.view.Window;
 import android.view.WindowManager;
-import android.widget.ArrayAdapter;
+import android.view.inputmethod.EditorInfo;
 import android.widget.AutoCompleteTextView;
+import android.widget.TextView;
 
 import com.android.emergency.R;
-import com.android.emergency.ReloadablePreferenceInterface;
 
 /**
  * Almost a copy of EditTextPreference that shows a {@link AutoCompleteTextView} instead of the
@@ -65,6 +67,18 @@
          * We reset the enabled state.
          */
         mAutoCompleteTextView.setEnabled(true);
+
+        mAutoCompleteTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
+            @Override
+            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+                if (actionId == EditorInfo.IME_ACTION_DONE) {
+                    onClick(getDialog(), DialogInterface.BUTTON_POSITIVE);
+                    getDialog().dismiss();
+                    return true;
+                }
+                return false;
+            }
+        });
         setDialogLayoutResource(R.layout.preference_dialog_autocomplete_edittext);
     }
 
diff --git a/src/com/android/emergency/preferences/BloodTypeListPreference.java b/src/com/android/emergency/preferences/BloodTypeListPreference.java
index aed5e89..69a5328 100644
--- a/src/com/android/emergency/preferences/BloodTypeListPreference.java
+++ b/src/com/android/emergency/preferences/BloodTypeListPreference.java
@@ -42,10 +42,11 @@
     @Override
     public CharSequence getSummary() {
         final String value = getValue();
-        if (TextUtils.isEmpty(value)) {
+        int index = findIndexOfValue(value);
+        if (index < 0) {
             return super.getSummary();
         } else {
-            return createAccessibleSequence(value, mContentDescriptions[findIndexOfValue(value)]);
+            return createAccessibleSequence(getEntries()[index], mContentDescriptions[index]);
         }
     }
 
diff --git a/src/com/android/emergency/preferences/DatePreference.java b/src/com/android/emergency/preferences/DatePreference.java
index 9dc05b9..20d86d2 100644
--- a/src/com/android/emergency/preferences/DatePreference.java
+++ b/src/com/android/emergency/preferences/DatePreference.java
@@ -52,6 +52,7 @@
     /** Creates a new instance initialized with {@code context} and {@code attrs}. */
     public DatePreference(Context context, AttributeSet attrs) {
         super(context, attrs);
+        mDateTimeMillis = DEFAULT_UNSET_VALUE;
         final Calendar calendar = Calendar.getInstance();
         mDatePickerDialog = new DatePickerDialog(
                 context,
diff --git a/src/com/android/emergency/preferences/EmergencyEditTextPreference.java b/src/com/android/emergency/preferences/EmergencyEditTextPreference.java
index 1cc1db7..a34d8e3 100644
--- a/src/com/android/emergency/preferences/EmergencyEditTextPreference.java
+++ b/src/com/android/emergency/preferences/EmergencyEditTextPreference.java
@@ -19,6 +19,8 @@
 import android.preference.EditTextPreference;
 import android.text.TextUtils;
 import android.util.AttributeSet;
+import android.view.View;
+import android.widget.TextView;
 
 import com.android.emergency.ReloadablePreferenceInterface;
 
@@ -28,6 +30,8 @@
 public class EmergencyEditTextPreference extends EditTextPreference
         implements ReloadablePreferenceInterface {
 
+    private static final int MAX_LINES = 50;
+
     public EmergencyEditTextPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -47,4 +51,12 @@
         String text = getText();
         return TextUtils.isEmpty(text) ? super.getSummary() : text;
     }
+
+    @Override
+    protected void onBindView(View view) {
+        super.onBindView(view);
+        final TextView summaryView = (TextView) view.findViewById(
+                com.android.internal.R.id.summary);
+        summaryView.setMaxLines(MAX_LINES);
+    }
 }
diff --git a/src/com/android/emergency/preferences/EmergencyListPreference.java b/src/com/android/emergency/preferences/EmergencyListPreference.java
index 24ca9b7..94539fc 100644
--- a/src/com/android/emergency/preferences/EmergencyListPreference.java
+++ b/src/com/android/emergency/preferences/EmergencyListPreference.java
@@ -44,11 +44,11 @@
 
     @Override
     public CharSequence getSummary() {
-        final CharSequence value = getValue();
-        if (TextUtils.isEmpty(value)) {
+        final CharSequence entry = getEntry();
+        if (TextUtils.isEmpty(entry)) {
             return super.getSummary();
         } else {
-            return value;
+            return entry;
         }
     }
 }
