diff --git a/drivers/tsl2561/tsl2561.c b/drivers/tsl2561/tsl2561.c
index 05260eb47e5603c71be38ccb421225236395a84a..abb70b927262f20afed3d391d1aa565aabf66c8d 100644
--- a/drivers/tsl2561/tsl2561.c
+++ b/drivers/tsl2561/tsl2561.c
@@ -84,6 +84,7 @@ int tsl2561_init(tsl2561_t *dev, const tsl2561_params_t *params)
 #endif
 
     _disable(dev);
+    i2c_release(DEV_I2C);
 
     return TSL2561_OK;
 }
@@ -212,6 +213,8 @@ static void _disable(const tsl2561_t *dev)
 
 static void _read_data(const tsl2561_t *dev, uint16_t *full, uint16_t *ir)
 {
+    /* acquire bus */
+    i2c_acquire(DEV_I2C);
     /* Enable the device */
     _enable(dev);
 
@@ -247,6 +250,8 @@ static void _read_data(const tsl2561_t *dev, uint16_t *full, uint16_t *ir)
 
     /* Turn the device off to save power */
     _disable(dev);
+    /* release bus */
+    i2c_release(DEV_I2C);
 }
 
 static void _print_init_info(const tsl2561_t *dev)