 		case 2: action[actionIndex].fadeTime |= c <<  4; break;
 		case 3: action[actionIndex].fadeTime |= c; break;
 		case 4: case 6: case 8: case 10:
-			action[actionIndex].color[index/2 - 2] =  c << 4; break;
+			action[actionIndex].color[index/2 - 2] =  c << 8; break;
 		case 5: case 7: case 9: case 11:
-			action[actionIndex].color[index/2 - 2] |= c; break;
+			action[actionIndex].color[index/2 - 2] |= c << 4; break;
 		}
 		index++;
 	}


	while(bt.available()) {
		char c = bt.read();
		if(c == '\r') {
			if(index == sizeof(action[0]) * 2) {
				actionIndex++;
			}
			bt.write('.');
			index = 0;
			continue;

			}
		}
	} else if(actionIndex == 1) {
		if (action[0].relative) { // Relative change: Calculate new absolute before starting action
			for(uint8_t i = 0; i < 4; i++) {
		        action[0].color[i] += startColor[i];
		    }
		}
		startTime = millis();
		doing = 1;
	}
