diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index cdfd79d..076db3e 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -1044,11 +1044,15 @@
 
 void *RxUpperLoopAdapter(TransceiverChannel *chan)
 {
+  char thread_name[16];
   Transceiver *trx = chan->trx;
   size_t num = chan->num;
 
   delete chan;
 
+  snprintf(thread_name, 16, "RxUpper%zu", num);
+  set_selfthread_name(thread_name);
+
   trx->setPriority(0.42);
 
   while (1) {
@@ -1060,6 +1064,8 @@
 
 void *RxLowerLoopAdapter(Transceiver *transceiver)
 {
+  set_selfthread_name("RxLower");
+
   transceiver->setPriority(0.45);
 
   while (1) {
@@ -1071,6 +1077,8 @@
 
 void *TxLowerLoopAdapter(Transceiver *transceiver)
 {
+  set_selfthread_name("TxLower");
+
   transceiver->setPriority(0.44);
 
   while (1) {
@@ -1082,11 +1090,15 @@
 
 void *ControlServiceLoopAdapter(TransceiverChannel *chan)
 {
+  char thread_name[16];
   Transceiver *trx = chan->trx;
   size_t num = chan->num;
 
   delete chan;
 
+  snprintf(thread_name, 16, "CtrlService%zu", num);
+  set_selfthread_name(thread_name);
+
   while (1) {
     trx->driveControl(num);
     pthread_testcancel();
@@ -1096,11 +1108,15 @@
 
 void *TxUpperLoopAdapter(TransceiverChannel *chan)
 {
+  char thread_name[16];
   Transceiver *trx = chan->trx;
   size_t num = chan->num;
 
   delete chan;
 
+  snprintf(thread_name, 16, "TxUpper%zu", num);
+  set_selfthread_name(thread_name);
+
   trx->setPriority(0.40);
 
   while (1) {
