If device_id is None then it blows up.