diff --git a/include/libmueb/muebreceiver.h b/include/libmueb/muebreceiver.h
index 8cda3cb95d2219740fb5aef51821106eff911f84..b2a63fd1b0415196002fdb5b447cb23c538ef95d 100644
--- a/include/libmueb/muebreceiver.h
+++ b/include/libmueb/muebreceiver.h
@@ -14,7 +14,7 @@ class LIBMUEB_EXPORT MuebReceiver final : public QObject {
 
  public:
   static MuebReceiver& Instance();
-  libmueb::Frame frame();
+  libmueb::Frame frame() const;
 
  signals:
   void FrameChanged(libmueb::Frame frame);
diff --git a/src/muebreceiver.cc b/src/muebreceiver.cc
index cce29c950ee1b271755f30336bce10594e24a7f4..db5b2b7827762e3f55251a4fe3a31e317a11190e 100644
--- a/src/muebreceiver.cc
+++ b/src/muebreceiver.cc
@@ -15,7 +15,11 @@ MuebReceiver &MuebReceiver::Instance() {
   return instance;
 }
 
-libmueb::Frame MuebReceiver::frame() { return d_ptr_->frame; }
+libmueb::Frame MuebReceiver::frame() const {
+  Q_D(const MuebReceiver);
+
+  return d->frame;
+}
 
 inline void datagram_uncompress_error() {
   qWarning() << "[MuebReceiver] Processed packet is invalid! Check the header "