diff --git a/sys/phydat/phydat_str.c b/sys/phydat/phydat_str.c
index 0196e74ee12aca881976a57c4f00944f9dcff041..3f17c2940a5f44ad201c63209d37ef460fc73fdb 100644
--- a/sys/phydat/phydat_str.c
+++ b/sys/phydat/phydat_str.c
@@ -64,7 +64,7 @@ void phydat_dump(phydat_t *data, uint8_t dim)
         }
         else if ((data->scale > -5) && (data->scale < 0)) {
             char num[8];
-            size_t len = fmt_s16_dfp(num, data->val[i], data->scale * -1);
+            size_t len = fmt_s16_dfp(num, data->val[i], data->scale);
             num[len] = '\0';
             printf("%s", num);
         }