Index: ../wp-inst/wp-content/themes/default/functions.php
===================================================================
--- ../wp-inst/wp-content/themes/default/functions.php	(revision 415)
+++ ../wp-inst/wp-content/themes/default/functions.php	(working copy)
@@ -26,16 +26,18 @@
 }
 
 function kubrick_upper_color() {
-	if ( strstr( kubrick_header_image_url(), 'header-img.php?' ) )
-		return substr( kubrick_header_image(), 21, 6 );
-	else
+	if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) {
+		parse_str(substr($url, strpos($url, '?') + 1), $q);
+		return $q['upper'];
+	} else
 		return '69aee7';
 }
 
 function kubrick_lower_color() {
-	if ( strstr( kubrick_header_image_url(), 'header-img.php?' ) )
-		return substr( kubrick_header_image(), 34, 6 );
-	else
+	if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) {
+		parse_str(substr($url, strpos($url, '?') + 1), $q);
+		return $q['lower'];
+	} else
 		return '4180b6';
 }
 
Index: ../wp-inst/wp-content/themes/default/images/header-img.php
===================================================================
--- ../wp-inst/wp-content/themes/default/images/header-img.php	(revision 415)
+++ ../wp-inst/wp-content/themes/default/images/header-img.php	(working copy)
@@ -8,11 +8,14 @@
 
 // Assign and validate the color values
 $default = false;
-$vars = array('upper'=>array(0=>'r1', 2=>'g1', 4=>'b1'), 'lower'=>array(0=>'r2', 2=>'g2', 4=>'b2'));
+$vars = array('upper'=>array('r1', 'g1', 'b1'), 'lower'=>array('r2', 'g2', 'b2'));
 foreach ( $vars as $var => $subvars ) {
 	if ( isset($_GET[$var]) ) {
 		foreach ( $subvars as $index => $subvar ) {
-			$$subvar = hexdec( substr($_GET[$var], $index, 2) );
+			$length = strlen($_GET[$var]) / 3;
+			$v = substr($_GET[$var], $index * $length, $length);
+			if ( $length == 1 ) $v = '' . $v . $v;
+			$$subvar = hexdec( $v );
 			if ( $$subvar < 0 || $$subvar > 255 )
 				$default = true;
 		}
