Index: wp-admin/custom-background.php
===================================================================
--- wp-admin/custom-background.php	(revision 13788)
+++ wp-admin/custom-background.php	(working copy)
@@ -98,7 +98,7 @@
 		}
 
 		if ( isset($_POST['background-repeat']) ) {
-			if ( in_array($_POST['background-repeat'], array('repeat', 'no-repeat')) )
+			if ( in_array($_POST['background-repeat'], array('repeat', 'no-repeat', 'repeat-x', 'repeat-y')) )
 				$repeat = $_POST['background-repeat'];
 			else
 				$repeat = 'repeat';
@@ -192,13 +192,13 @@
 
 <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Repeat' ); ?></span></legend>
 <label>
-<input name="background-repeat" type="radio" value="no-repeat" <?php checked('no-repeat', get_theme_mod('background_repeat', 'repeat')); ?> />
-<?php _e('No repeat') ?>
+<select name="background-repeat">
+	<option value="no-repeat" <?php selected('no-repeat', get_theme_mod('background_repeat', 'repeat')); ?> ><?php _e('No repeat') ?></option>
+	<option value="repeat" <?php selected('repeat', get_theme_mod('background_repeat', 'repeat')); ?>><?php _e('Tile') ?></option>
+	<option value="repeat-x" <?php selected('repeat-x', get_theme_mod('background_repeat', 'repeat')); ?>><?php _e('Tile Horizontally') ?></option>
+	<option value="repeat-y" <?php selected('repeat-y', get_theme_mod('background_repeat', 'repeat')); ?>><?php _e('Tile Vertically') ?></option>
+</select>
 </label>
-<label>
-<input name="background-repeat" type="radio" value="repeat" <?php checked('repeat', get_theme_mod('background_repeat', 'repeat')); ?> />
-<?php _e('Tile') ?>
-</label>
 </fieldset></td>
 
 <td><fieldset><legend class="screen-reader-text"><span><?php _e( 'Attachment' ); ?></span></legend>
Index: wp-includes/theme.php
===================================================================
--- wp-includes/theme.php	(revision 13797)
+++ wp-includes/theme.php	(working copy)
@@ -1440,20 +1440,27 @@
 	if ( !$background && !$color )
 		return;
 
-	$repeat = get_theme_mod('background_repeat', 'repeat');
-	if ( 'no-repeat' == $repeat )
+	if ( 'no-repeat' == get_theme_mod('background_repeat', 'repeat') )
 		$repeat = 'background-repeat: no-repeat;';
+	elseif( 'repeat-x' == $repeat )
+		$repeat = 'background-repeat: repeat-x;';
+	elseif( 'repeat-y' == $repeat )
+		$repeat = 'background-repeat: repeat-y;';
 	else
 		$repeat = 'background-repeat: repeat;';
-	$position = get_theme_mod('background_position', 'left');
-	if  ( 'center' == $position )
-		$position = 'background-position: top center;';
-	elseif ( 'right' == $position )
-		$position = 'background-position: top right;';
-	else
-		$position = 'background-position: top left;';
-	$attachment = get_theme_mod('background_attachment', 'fixed');
-	if ( 'scroll' == $attachment )
+
+	switch ( get_theme_mod('background_position', 'left') ) {
+		case 'center':
+			$position = 'background-position: top center;';
+			break;
+		case 'right':
+			$position = 'background-position: top right;';
+			break;
+		default:
+			$position = 'background-position: top left;';
+	}
+
+	if ( 'scroll' == get_theme_mod('background_attachment', 'fixed') )
 		$attachment = 'background-attachment: scroll;';
 	else
 		$attachment = 'background-attachment: fixed;';
@@ -1463,11 +1470,6 @@
 	else
 		$image = '';
 
-	if ( !empty($background ) )
-		$image = "background-image: url('$background');";
-	else
-		$image = '';
-
 	if ( !empty($color) )
 		$color = "background-color: #$color;";
 	else

