diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml
index 069f639a2b5bb6ead2f92f23da81eb5fc3459a7f..2da593707ad272ef09a0e27a16b2c00c881a9d9d 100644
--- a/resources/qml/Avatar.qml
+++ b/resources/qml/Avatar.qml
@@ -79,9 +79,9 @@ AbstractButton {
         function updatePresence() {
             switch (Presence.userPresence(userid)) {
             case "online":
-                return Nheko.theme.green;
+                return Nheko.theme.online;
             case "unavailable":
-                return Nheko.theme.red;
+                return Nheko.theme.unavailable;
             case "offline":
             default:
                 // return "#a82353" don't show anything if offline, since it is confusing, if presence is disabled
diff --git a/src/ui/Theme.cpp b/src/ui/Theme.cpp
index 4af882e2d232110758d5fcb3638bb1bcba84a78e..0245023093eccaf9bc111c9abbbb7804cae6f2b5 100644
--- a/src/ui/Theme.cpp
+++ b/src/ui/Theme.cpp
@@ -69,22 +69,22 @@ Theme::Theme(QStringView theme)
         sidebarBackground_ = QColor(0x23, 0x36, 0x49);
         alternateButton_   = QColor(0xcc, 0xcc, 0xcc);
         red_               = QColor(0xa8, 0x23, 0x53);
-        green_             = QColor(Qt::GlobalColor::green);
+        green_             = QColor(QColorConstants::Svg::green);
         orange_            = QColor(0xfc, 0xbe, 0x05);
         error_             = QColor(0xdd, 0x3d, 0x3d);
     } else if (theme == u"dark") {
         sidebarBackground_ = QColor(0x2d, 0x31, 0x39);
         alternateButton_   = QColor(0x41, 0x4A, 0x59);
         red_               = QColor(0xa8, 0x23, 0x53);
-        green_             = QColor(Qt::GlobalColor::green);
+        green_             = QColor(QColorConstants::Svg::green);
         orange_            = QColor(0xfc, 0xc5, 0x3a);
         error_             = QColor(0xdd, 0x3d, 0x3d);
     } else {
         sidebarBackground_ = p.window().color();
         alternateButton_   = p.dark().color();
-        red_               = QColor(Qt::GlobalColor::red);
-        green_             = QColor(Qt::GlobalColor::green);
-        orange_            = QColor(0xff, 0xa5, 0x00); // SVG orange
+        red_               = QColor(QColorConstants::Svg::red);
+        green_             = QColor(QColorConstants::Svg::green);
+        orange_            = QColor(QColorConstants::Svg::orange); // SVG orange
         error_             = QColor(0xdd, 0x3d, 0x3d);
     }
 }
diff --git a/src/ui/Theme.h b/src/ui/Theme.h
index 94c89fc58e822766e17b8d999e0c648a48d81786..a9fb0519b80dd8b1563f76639db67f6aa1541bea 100644
--- a/src/ui/Theme.h
+++ b/src/ui/Theme.h
@@ -18,6 +18,8 @@ class Theme : public QPalette
     Q_PROPERTY(QColor green READ green CONSTANT)
     Q_PROPERTY(QColor error READ error CONSTANT)
     Q_PROPERTY(QColor orange READ orange CONSTANT)
+    Q_PROPERTY(QColor online READ online CONSTANT)
+    Q_PROPERTY(QColor unavailable READ unavailable CONSTANT)
 public:
     Theme() {}
     explicit Theme(QStringView theme);
@@ -30,6 +32,8 @@ public:
     QColor green() const { return green_; }
     QColor error() const { return error_; }
     QColor orange() const { return orange_; }
+    QColor online() const { return QColor(0x00, 0xcc, 0x66); }
+    QColor unavailable() const { return QColor(0xff, 0x99, 0x33); }
 
 private:
     QColor sidebarBackground_, separator_, red_, green_, error_, orange_, alternateButton_;