diff --git a/epicardium/ble/card10.c b/epicardium/ble/card10.c
index 25697ff40614bacea196c63688aafa7f5bf169a4..7f896bfe47fe90aa2992848c37ecc716efd29a0a 100644
--- a/epicardium/ble/card10.c
+++ b/epicardium/ble/card10.c
@@ -776,25 +776,20 @@ static uint8_t writeCard10CB(
 		}
 	// leds above
 	case CARD10_LEDS_ABOVE_VAL_HDL:
+		APP_TRACE_INFO0("ble-card10: update LEDs above");
+
 		for (ui16 = 0; ui16 < 11; ui16++) {
-			epic_leds_set(
-				ui16,
-				pValue[ui16 * 3],
-				pValue[ui16 * 3 + 1],
-				pValue[ui16 * 3 + 2]
-			);
-			APP_TRACE_INFO4(
-				"ble-card10: set led %ld above to #%02x%02x%02x\n",
+			epic_leds_prep(
 				ui16,
 				pValue[ui16 * 3],
 				pValue[ui16 * 3 + 1],
 				pValue[ui16 * 3 + 2]
 			);
 		}
+		epic_leds_update();
+		return ATT_SUCCESS;
 	default:
-		APP_TRACE_INFO1(
-			"ble-card10: unsupported characteristic: %c\n", handle
-		);
+		APP_TRACE_INFO1("ble-card10: unsupported handle: %x\n", handle);
 		return ATT_ERR_HANDLE;
 	}
 }
diff --git a/epicardium/ble/filetransfer.c b/epicardium/ble/filetransfer.c
index 88b31308bf19cf9c02f45615a34b58fa19d5300f..df888a744442b814656bc44224457c602f815fb5 100644
--- a/epicardium/ble/filetransfer.c
+++ b/epicardium/ble/filetransfer.c
@@ -396,9 +396,7 @@ static uint8_t writeCallback(
 			connId, handle, operation, offset, len, pValue, pAttr
 		);
 	default:
-		LOG_ERR("filetrans",
-			"unsupported characteristic: %c\n",
-			handle);
+		LOG_ERR("filetrans", "unsupported handle: %x\n", handle);
 		return ATT_ERR_HANDLE;
 	}
 }
diff --git a/epicardium/main.c b/epicardium/main.c
index a0c5fad5758c141428512b86ffc287b229ef113a..4e3e625b5a4277d99a1eb4e654a3dc0b3e1572df 100644
--- a/epicardium/main.c
+++ b/epicardium/main.c
@@ -119,7 +119,7 @@ int main(void)
 			    (const char *)"BLE",
 			    configMINIMAL_STACK_SIZE * 10,
 			    NULL,
-			    tskIDLE_PRIORITY + 1,
+			    tskIDLE_PRIORITY + 3,
 			    NULL) != pdPASS) {
 			LOG_CRIT("startup", "Failed to create %s task!", "BLE");
 			abort();