diff --git a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
index 74c39b6..c5b29f3 100644
--- a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
@@ -132,7 +132,7 @@
 
     @Override
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
-        if (actionId == EditorInfo.IME_ACTION_DONE) {
+        if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_NULL) {
             setDeviceName(v.getText().toString());
             if (mAlertDialog != null && mAlertDialog.isShowing()) {
                 mAlertDialog.dismiss();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
index c3956d3..376c7ed 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
@@ -33,6 +33,8 @@
     private TestBluetoothNameDialogFragment mBluetoothNameDialogFragment;
     private TextView mTextView;
 
+    private static final String NAME_FOR_TEST = "test_device_name";
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -51,12 +53,24 @@
                         null)).isTrue();
     }
 
+    @Test
+    public void onEditorAction_ImeNull_setsDeviceName() {
+
+
+        mTextView.setText(NAME_FOR_TEST);
+        assertThat(
+                mBluetoothNameDialogFragment.onEditorAction(mTextView, EditorInfo.IME_NULL,
+                        null)).isTrue();
+        assertThat(mBluetoothNameDialogFragment.getDeviceName()).isEqualTo(NAME_FOR_TEST);
+    }
 
     /**
      * Test fragment for {@link BluetoothNameDialogFragment} to test common methods
      */
     public static class TestBluetoothNameDialogFragment extends BluetoothNameDialogFragment {
 
+        private String mName;
+
         @Override
         protected int getDialogTitle() {
             return 0;
@@ -64,12 +78,12 @@
 
         @Override
         protected String getDeviceName() {
-            return null;
+            return mName;
         }
 
         @Override
         protected void setDeviceName(String deviceName) {
-
+            mName = deviceName;
         }
 
         @Override
