diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 73622bf..696168a 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -229,8 +229,7 @@
     private TextView mAccountLabel;
     private View mCallButton;
 
-    private View mBlockNumberActionItem;
-    private TextView mBlockNumberActionItemText;
+    private TextView mBlockNumberActionItem;
     private View mEditBeforeCallActionItem;
     private View mReportActionItem;
 
@@ -284,9 +283,8 @@
             }
         });
 
-        mBlockNumberActionItem = findViewById(R.id.call_detail_action_block);
+        mBlockNumberActionItem = (TextView) findViewById(R.id.call_detail_action_block);
         mBlockNumberActionItem.setOnClickListener(this);
-        mBlockNumberActionItemText = (TextView) findViewById(R.id.call_detail_action_block_text);
         mEditBeforeCallActionItem = findViewById(R.id.call_detail_action_edit_before_call);
         mEditBeforeCallActionItem.setOnClickListener(this);
         mReportActionItem = findViewById(R.id.call_detail_action_report);
@@ -443,9 +441,9 @@
             public void onCheckComplete(Integer id) {
                 mBlockedNumberId = id;
                 if (mBlockedNumberId == null) {
-                    mBlockNumberActionItemText.setText(R.string.action_block_number);
+                    mBlockNumberActionItem.setText(R.string.action_block_number);
                 } else {
-                    mBlockNumberActionItemText.setText(R.string.action_unblock_number);
+                    mBlockNumberActionItem.setText(R.string.action_unblock_number);
                 }
 
                 mBlockNumberActionItem.setVisibility(View.VISIBLE);
diff --git a/src/com/android/dialer/calllog/CallTypeIconsView.java b/src/com/android/dialer/calllog/CallTypeIconsView.java
index d2be380..cfd8f97 100644
--- a/src/com/android/dialer/calllog/CallTypeIconsView.java
+++ b/src/com/android/dialer/calllog/CallTypeIconsView.java
@@ -199,7 +199,7 @@
 
             voicemail = r.getDrawable(R.drawable.ic_call_voicemail_holo_dark);
 
-            blocked = getScaledBitmap(context, R.drawable.ic_block_18dp);
+            blocked = getScaledBitmap(context, R.drawable.ic_block_24dp);
             blocked.setColorFilter(r.getColor(R.color.blocked_call), PorterDuff.Mode.MULTIPLY);
 
             videoCall = getScaledBitmap(context, R.drawable.ic_videocam_24dp);
