if (index >= debug->__name.word_count)                  \
                return -EINVAL;                                 \
                                                                \
+       index += (debug->__name.word_base /                     \
+                 debug->__name.word_size);                     \
+                                                               \
        if (debug->__name.flags & RT2X00DEBUGFS_OFFSET)         \
                index *= debug->__name.word_size;               \
                                                                \
-       index += debug->__name.word_base;                       \
-                                                               \
        debug->__name.read(intf->rt2x00dev, index, &value);     \
                                                                \
        size = sprintf(line, __format, value);                  \
        size = strlen(line);                                    \
        value = simple_strtoul(line, NULL, 0);                  \
                                                                \
+       index += (debug->__name.word_base /                     \
+                 debug->__name.word_size);                     \
+                                                               \
        if (debug->__name.flags & RT2X00DEBUGFS_OFFSET)         \
                index *= debug->__name.word_size;               \
                                                                \
-       index += debug->__name.word_base;                       \
-                                                               \
        debug->__name.write(intf->rt2x00dev, index, value);     \
                                                                \
        *offset += size;                                        \