diff --git a/res/drawable-hdpi/ic_share_white_24dp.png b/res/drawable-hdpi/ic_share_white_24dp.png
new file mode 100644
index 0000000..b09a692
--- /dev/null
+++ b/res/drawable-hdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_share_white_24dp.png b/res/drawable-mdpi/ic_share_white_24dp.png
new file mode 100644
index 0000000..e944fd7
--- /dev/null
+++ b/res/drawable-mdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_share_white_24dp.png b/res/drawable-xhdpi/ic_share_white_24dp.png
new file mode 100644
index 0000000..22a8783
--- /dev/null
+++ b/res/drawable-xhdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_share_white_24dp.png b/res/drawable-xxhdpi/ic_share_white_24dp.png
new file mode 100644
index 0000000..a35b3cd
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_share_white_24dp.png b/res/drawable-xxxhdpi/ic_share_white_24dp.png
new file mode 100644
index 0000000..e351c7b
--- /dev/null
+++ b/res/drawable-xxxhdpi/ic_share_white_24dp.png
Binary files differ
diff --git a/res/layout/voicemail_playback_layout.xml b/res/layout/voicemail_playback_layout.xml
index 984a52b..178e888 100644
--- a/res/layout/voicemail_playback_layout.xml
+++ b/res/layout/voicemail_playback_layout.xml
@@ -102,6 +102,19 @@
             android:tint="@color/voicemail_icon_tint"
             android:contentDescription="@string/call_log_trash_voicemail" />
 
+        <Space android:id="@+id/space_before_share_voicemail"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:visibility="gone" />
+
+        <ImageButton android:id="@+id/share_voicemail"
+            style="@style/VoicemailPlaybackLayoutButtonStyle"
+            android:src="@drawable/ic_share_white_24dp"
+            android:tint="@color/voicemail_icon_tint"
+            android:contentDescription="@string/call_log_share_voicemail"
+            android:visibility="gone" />
+
         <Space android:id="@+id/space_before_archive_voicemail"
             android:layout_width="0dp"
             android:layout_height="match_parent"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 830af65..b8f8679 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -87,6 +87,9 @@
     <!-- Menu item used to archive a voicemail. [CHAR LIMIT=30] -->
     <string name="call_log_archive_voicemail">Archive voicemail</string>
 
+    <!-- Menu item used to send a voicemail through other applications [CHAR LIMIT=30] -->
+    <string name="call_log_share_voicemail">Share voicemail</string>
+
     <!-- Text for snackbar to undo a voicemail delete. [CHAR LIMIT=30] -->
     <string name="snackbar_voicemail_deleted">Voicemail deleted</string>
 
diff --git a/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java b/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
index 0cbe7f2..8c869d1 100644
--- a/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
+++ b/src/com/android/dialer/voicemail/VoicemailPlaybackLayout.java
@@ -275,7 +275,11 @@
     private ImageButton mPlaybackSpeakerphone;
     private ImageButton mDeleteButton;
     private ImageButton mArchiveButton;
+    private ImageButton mShareButton;
+
     private Space mArchiveSpace;
+    private Space mShareSpace;
+
     private TextView mStateText;
     private TextView mPositionText;
     private TextView mTotalDurationText;
@@ -304,6 +308,12 @@
             updateArchiveUI(mVoicemailUri);
             updateArchiveButton(mVoicemailUri);
         }
+
+        if (ObjectFactory.isVoicemailShareEnabled(mContext)) {
+            // Show share button and space before it
+            mShareSpace.setVisibility(View.VISIBLE);
+            mShareButton.setVisibility(View.VISIBLE);
+        }
     }
 
     @Override
@@ -315,7 +325,11 @@
         mPlaybackSpeakerphone = (ImageButton) findViewById(R.id.playback_speakerphone);
         mDeleteButton = (ImageButton) findViewById(R.id.delete_voicemail);
         mArchiveButton =(ImageButton) findViewById(R.id.archive_voicemail);
+        mShareButton = (ImageButton) findViewById(R.id.share_voicemail);
+
         mArchiveSpace = (Space) findViewById(R.id.space_before_archive_voicemail);
+        mShareSpace = (Space) findViewById(R.id.space_before_share_voicemail);
+
         mStateText = (TextView) findViewById(R.id.playback_state_text);
         mPositionText = (TextView) findViewById(R.id.playback_position_text);
         mTotalDurationText = (TextView) findViewById(R.id.total_duration_text);
diff --git a/src/com/android/dialerbind/ObjectFactory.java b/src/com/android/dialerbind/ObjectFactory.java
index 935c9f7..9f75e39 100644
--- a/src/com/android/dialerbind/ObjectFactory.java
+++ b/src/com/android/dialerbind/ObjectFactory.java
@@ -48,6 +48,10 @@
         return false;
     }
 
+    public static boolean isVoicemailShareEnabled(Context context) {
+        return false;
+    }
+
     @Nullable
     public static ExtendedBlockingButtonRenderer newExtendedBlockingButtonRenderer(
             Context context, ExtendedBlockingButtonRenderer.Listener listener) {
