Index: src/wp-admin/css/customize-controls.css
===================================================================
--- src/wp-admin/css/customize-controls.css	(revision 30844)
+++ src/wp-admin/css/customize-controls.css	(working copy)
@@ -605,8 +605,10 @@
 }
 
 .customize-control-upload .remove-button,
+.customize-control-upload .default-button,
 .customize-control-upload .upload-button,
 .customize-control-image .remove-button,
+.customize-control-image .default-button,
 .customize-control-image .upload-button,
 .customize-control-header button.new,
 .customize-control-header button.remove {
@@ -797,8 +799,10 @@
 	border-radius: 2px;
 }
 
-.customize-control-upload .remove-button
-.customize-control-image .remove-button
+.customize-control-upload .remove-button,
+.customize-control-upload .default-button,
+.customize-control-image .remove-button,
+.customize-control-image .default-button,
 .customize-control-header .remove {
 	float: left;
 	margin-right: 3px;
Index: src/wp-includes/class-wp-customize-control.php
===================================================================
--- src/wp-includes/class-wp-customize-control.php	(revision 30844)
+++ src/wp-includes/class-wp-customize-control.php	(working copy)
@@ -687,6 +687,8 @@
 		$this->json['mime_type'] = $this->mime_type;
 		$this->json['button_labels'] = $this->button_labels;
 
+		$current = $this->value();
+
 		if ( is_object( $this->setting ) ) {
 			if ( $this->setting->default ) {
 				// Fake an attachment model - needs all fields used by template.
@@ -704,15 +706,13 @@
 				$this->json['defaultAttachment'] = $default_attachment;
 			}
 
-			// Get the attachment model for the existing file.
-			if ( $this->value() ) {
-				$attachment_id = attachment_url_to_postid( $this->value() );
+			if ( $current && $this->setting->default && $current === $this->setting->default ) {
+				$this->json['attachment'] = $this->json['defaultAttachment'];
+			} elseif ( $current ) {
+				$attachment_id = attachment_url_to_postid( $current );
 				if ( $attachment_id ) {
-					$this->json['attachment'] = wp_prepare_attachment_for_js( $attachment_id);
+					$this->json['attachment'] = wp_prepare_attachment_for_js( $attachment_id );
 				}
-			} else if ( $this->setting->default ) {
-				// Set the default as the attachment.
-				$this->json['attachment'] = $default_attachment;
 			}
 		}
 	}
@@ -741,12 +741,7 @@
 			<# } #>
 		</label>
 
-		<# // Ensure that the default attachment is used if it exists.
-		if ( _.isEmpty( data.attachment ) && data.defaultAttachment ) {
-			data.attachment = data.defaultAttachment;
-		}
-
-		if ( data.attachment && data.attachment.id ) { #>
+		<# if ( data.attachment && data.attachment.id ) { #>
 			<div class="current">
 				<div class="container">
 					<div class="attachment-media-view attachment-media-view-{{ data.attachment.type }} {{ data.attachment.orientation }}">
@@ -773,11 +768,7 @@
 				</div>
 			</div>
 			<div class="actions">
-				<# if ( data.defaultAttachment && data.defaultAttachment.id !== data.attachment.id ) { #>
-					<button type="button" class="button default-button remove-button"><?php echo $this->button_labels['default']; ?></button>
-				<# } else if ( ! data.defaultAttachment ) { #>
-					<button type="button" class="button remove-button"><?php echo $this->button_labels['remove']; ?></button>
-				<# } #>
+				<button type="button" class="button remove-button"><?php echo $this->button_labels['remove']; ?></button>
 				<button type="button" class="button upload-button" id="{{ data.settings.default }}-button"><?php echo $this->button_labels['change']; ?></button>
 				<div style="clear:both"></div>
 			</div>
@@ -795,7 +786,7 @@
 			</div>
 			<div class="actions">
 				<# if ( data.defaultAttachment ) { #>
-					<button type="button" class="button default-button remove-button"><?php echo $this->button_labels['default']; ?></button>
+					<button type="button" class="button default-button"><?php echo $this->button_labels['default']; ?></button>
 				<# } #>
 				<button type="button" class="button upload-button" id="{{ data.settings.default }}-button"><?php echo $this->button_labels['select']; ?></button>
 				<div style="clear:both"></div>
