diff --git a/drivers/include/mma8x5x.h b/drivers/include/mma8x5x.h
index 7c9abf29fa4c6cb1f13740e27def5812a05f0c63..fccc843a5a77f2175418339eb217ad916743a003 100644
--- a/drivers/include/mma8x5x.h
+++ b/drivers/include/mma8x5x.h
@@ -95,7 +95,6 @@ enum {
 typedef struct {
     i2c_t i2c;                  /**< I2C bus the device is connected to */
     uint8_t addr;               /**< I2C bus address of the device */
-    uint8_t type;               /**< device type */
     uint8_t rate;               /**< sampling rate to use */
     uint8_t range;              /**< scale range to use */
     uint8_t offset[3];          /**< data offset in X, Y, and Z direction */
diff --git a/drivers/mma8x5x/include/mma8x5x_params.h b/drivers/mma8x5x/include/mma8x5x_params.h
index e9170afb23fae85df1e816fe9bfa5c4593032a70..e2bc23969106adc27012a3d53c25ed25f2d665f7 100644
--- a/drivers/mma8x5x/include/mma8x5x_params.h
+++ b/drivers/mma8x5x/include/mma8x5x_params.h
@@ -37,9 +37,6 @@ extern "C" {
 #ifndef MMA8X5X_PARAM_ADDR
 #define MMA8X5X_PARAM_ADDR      (MMA8X5X_I2C_ADDRESS)
 #endif
-#ifndef MMA8X5X_PARAM_TYPE
-#define MMA8X5X_PARAM_TYPE      (MMA8X5X_TYPE_MMA8652)
-#endif
 #ifndef MMA8X5X_PARAM_RATE
 #define MMA8X5X_PARAM_RATE      (MMA8X5X_RATE_200HZ)
 #endif
@@ -53,13 +50,12 @@ extern "C" {
 #ifndef MMA8X5X_PARAMS
 #define MMA8X5X_PARAMS          { .i2c    = MMA8X5X_PARAM_I2C,   \
                                   .addr   = MMA8X5X_PARAM_ADDR,  \
-                                  .type   = MMA8X5X_PARAM_TYPE,  \
                                   .rate   = MMA8X5X_PARAM_RATE,  \
                                   .range  = MMA8X5X_PARAM_RANGE, \
                                   .offset = MMA8X5X_PARAM_OFFSET }
 #endif
 #ifndef MMA8X5X_SAUL_INFO
-#define MMA8X5X_SAUL_INFO       { .name = "mma8652" }
+#define MMA8X5X_SAUL_INFO       { .name = "mma8x5x" }
 #endif
 /**@}*/
 
diff --git a/drivers/mma8x5x/mma8x5x.c b/drivers/mma8x5x/mma8x5x.c
index a18939cf822e13c5a69874320b1d48e5875eb4c8..3850d23453f2b22a699e8a4fcc3e2818c8cc75d6 100644
--- a/drivers/mma8x5x/mma8x5x.c
+++ b/drivers/mma8x5x/mma8x5x.c
@@ -51,11 +51,18 @@ int mma8x5x_init(mma8x5x_t *dev, const mma8x5x_params_t *params)
 
     /* test if the target device responds */
     i2c_read_reg(BUS, ADDR, MMA8X5X_WHO_AM_I, &reg, 0);
-    if (reg != dev->params.type) {
-        i2c_release(BUS);
-        DEBUG("[mma8x5x] init - error: invalid WHO_AM_I value [0x%02x]\n",
-               (int)reg);
-        return MMA8X5X_NODEV;
+    switch (reg) {
+        case MMA8X5X_TYPE_MMA8451:
+        case MMA8X5X_TYPE_MMA8452:
+        case MMA8X5X_TYPE_MMA8453:
+        case MMA8X5X_TYPE_MMA8652:
+        case MMA8X5X_TYPE_MMA8653:
+            break;
+        default: /* invalid device type */
+            i2c_release(BUS);
+            DEBUG("[mma8x5x] init - error: invalid WHO_AM_I value [0x%02x]\n",
+                  (int)reg);
+            return MMA8X5X_NODEV;
     }
 
     /* reset the device */