diff --git a/mainloop.cpp b/mainloop.cpp
index 1da6b69..5976307 100644
--- a/mainloop.cpp
+++ b/mainloop.cpp
@@ -212,13 +212,34 @@
 
     for (auto& i : *sensors)
     {
-        // Get sensor configuration from the environment.
+        std::string label;
 
-        // Ignore inputs without a label.
-        auto label = getEnv("LABEL", i.first);
-        if (label.empty())
+        /*
+         * Check if the value of the MODE_<item><X> env variable for the sensor
+         * is "label", then read the sensor number from the <item><X>_label
+         * file. The name of the DBUS object would be the value of the env
+         * variable LABEL_<item><sensorNum>. If the MODE_<item><X> env variable
+         * does'nt exist, then the name of DBUS object is the value of the env
+         * variable LABEL_<item><X>.
+         */
+        auto mode = getEnv("MODE", i.first);
+        if (!mode.compare(hwmon::entry::label))
         {
-            continue;
+            label = getIndirectLabelEnv(
+                "LABEL", _hwmonRoot + '/' + _instance + '/', i.first);
+            if (label.empty())
+            {
+                continue;
+            }
+        }
+        else
+        {
+            // Ignore inputs without a label.
+            label = getEnv("LABEL", i.first);
+            if (label.empty())
+            {
+                continue;
+            }
         }
 
         Attributes attrs;
