Index: wp-admin/custom-background.php
===================================================================
--- wp-admin/custom-background.php	(revision 13790)
+++ 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';
@@ -199,6 +199,14 @@
 <input name="background-repeat" type="radio" value="repeat" <?php checked('repeat', get_theme_mod('background_repeat', 'repeat')); ?> />
 <?php _e('Tile') ?>
 </label>
+<label>
+<input name="background-repeat" type="radio" value="repeat-x" <?php checked('repeat-x', get_theme_mod('background_repeat', 'repeat')); ?> />
+<?php _e('Horizontally') ?>
+</label>
+<label>
+<input name="background-repeat" type="radio" value="repeat-y" <?php checked('repeat-y', get_theme_mod('background_repeat', 'repeat')); ?> />
+<?php _e('Vertically') ?>
+</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 13790)
+++ wp-includes/theme.php	(working copy)
@@ -1443,6 +1443,10 @@
 	$repeat = get_theme_mod('background_repeat', 'repeat');
 	if ( 'no-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');

