diff --git a/sys/phydat/phydat_str.c b/sys/phydat/phydat_str.c
index 2a73661f70938215b6830030942dacd2d6363e57..0196e74ee12aca881976a57c4f00944f9dcff041 100644
--- a/sys/phydat/phydat_str.c
+++ b/sys/phydat/phydat_str.c
@@ -49,13 +49,18 @@ void phydat_dump(phydat_t *data, uint8_t dim)
                 scale_prefix = phydat_prefix_from_scale(data->scale);
         }
 
-        printf("\t[%i] ", (int)i);
-
+        printf("\t");
+        if (dim > 1) {
+            printf("[%u] ", (unsigned int)i);
+        }
+        else {
+            printf("     ");
+        }
         if (scale_prefix) {
-            printf("%i %c", (int)data->val[i], scale_prefix);
+            printf("%6d %c", (int)data->val[i], scale_prefix);
         }
         else if (data->scale == 0) {
-            printf("%i", (int)data->val[i]);
+            printf("%6d", (int)data->val[i]);
         }
         else if ((data->scale > -5) && (data->scale < 0)) {
             char num[8];