diff --git a/src/muebreceiver.cc b/src/muebreceiver.cc
index b3407e37eb2631b0773c871e637d1b9a6415e0b3..c4c122dbb74a6f9c28f7fbad0900c8e4ceae0ab1 100644
--- a/src/muebreceiver.cc
+++ b/src/muebreceiver.cc
@@ -21,38 +21,38 @@ inline void datagram_uncompress_error() {
 }
 
 void MuebReceiver::ReadPendingDatagrams() {
-  while (d_ptr_->socket.hasPendingDatagrams()) {
-    if (d_ptr_->socket.pendingDatagramSize() ==
-        d_ptr_->configuration.packet_size()) {
-      QNetworkDatagram datagram = d_ptr_->socket.receiveDatagram();
+  Q_D(MuebReceiver);
+
+  while (d->socket.hasPendingDatagrams()) {
+    if (d->socket.pendingDatagramSize() == d->configuration.packet_size()) {
+      QNetworkDatagram datagram = d->socket.receiveDatagram();
       QByteArray data = datagram.data();
 
       // Process datagram
       // Packet header check
       // Check protocol
-      if (data[0] != d_ptr_->configuration.protocol_type()) {
+      if (data[0] != d->configuration.protocol_type()) {
         datagram_uncompress_error();
         return;
       }
 
       auto packet_number = data[1];
-      if (packet_number >= d_ptr_->configuration.max_packet_number() ||
+      if (packet_number >= d->configuration.max_packet_number() ||
           packet_number < 0) {
         datagram_uncompress_error();
         return;
       }
 
-      data.remove(0, d_ptr_->configuration.packet_header_size());
-      auto frame_begin =
-          d_ptr_->frame.bits() +
-          packet_number * d_ptr_->configuration.frame_fragment_size();
+      data.remove(0, d->configuration.packet_header_size());
+      auto frame_begin = d->frame.bits() +
+                         packet_number * d->configuration.frame_fragment_size();
 
       // Uncompress 1 byte into 2 color components
-      if (d_ptr_->configuration.color_depth() < 5) {
+      if (d->configuration.color_depth() < 5) {
         for (auto i : data) {
           *frame_begin = i & 0xf0;
           frame_begin++;
-          *frame_begin = (i & 0x0f) << d_ptr_->configuration.factor();
+          *frame_begin = (i & 0x0f) << d->configuration.factor();
           frame_begin++;
         }
         // No compression
@@ -64,14 +64,14 @@ void MuebReceiver::ReadPendingDatagrams() {
         }
       }
 
-      emit(FrameChanged(d_ptr_->frame));
+      emit(FrameChanged(d->frame));
     }
     // Drop invalid packet
     else {
       qWarning() << "[MuebReceiver] Packet has invalid size!"
-                 << d_ptr_->socket.pendingDatagramSize() << "bytes";
+                 << d->socket.pendingDatagramSize() << "bytes";
 
-      d_ptr_->socket.receiveDatagram(0);
+      d->socket.receiveDatagram(0);
     }
   }
 }
diff --git a/src/muebtransmitter.cc b/src/muebtransmitter.cc
index 6515461eb400473abfa355b73b31d319a503e0f2..02e13d70cb790d730679d5fd5448c7133c461f17 100644
--- a/src/muebtransmitter.cc
+++ b/src/muebtransmitter.cc
@@ -8,15 +8,17 @@ MuebTransmitter::MuebTransmitter(QObject* parent)
 MuebTransmitter::~MuebTransmitter() { delete d_ptr_; }
 
 void MuebTransmitter::SendFrame(libmueb::Frame frame) {
+  Q_D(MuebTransmitter);
+
   if (frame.isNull() || frame.format() == QImage::Format_Invalid ||
-      frame.width() != d_ptr_->configuration_.width() ||
-      frame.height() != d_ptr_->configuration_.height()) {
+      frame.width() != d->configuration_.width() ||
+      frame.height() != d->configuration_.height()) {
     qWarning() << "[MuebTransmitter] Frame is invalid";
     return;
   }
 
   frame.convertTo(QImage::Format_RGB888);
-  d_ptr_->SendFrame(frame);
+  d->SendFrame(frame);
 }
 
 MuebTransmitter& MuebTransmitter::Instance() {
@@ -26,13 +28,19 @@ MuebTransmitter& MuebTransmitter::Instance() {
 }
 
 std::int32_t MuebTransmitter::width() const {
-  return d_ptr_->configuration_.width();
+  Q_D(const MuebTransmitter);
+
+  return d->configuration_.width();
 }
 
 std::int32_t MuebTransmitter::height() const {
-  return d_ptr_->configuration_.height();
+  Q_D(const MuebTransmitter);
+
+  return d->configuration_.height();
 }
 
 libmueb::Frame MuebTransmitter::frame() const {
-  return d_ptr_->configuration_.frame();
+  Q_D(const MuebTransmitter);
+
+  return d->configuration_.frame();
 }