diff --git a/zio-sys.c b/zio-sys.c
index a8fe677b5b4502008f4e0af0a63ed2f781c34589..ca524b127b76c8316e1aa0012aeedc37add05054 100644
--- a/zio-sys.c
+++ b/zio-sys.c
@@ -399,10 +399,10 @@ static spinlock_t *__get_spinlock(struct zio_obj_head *head)
 		lock = &to_zio_chan(&head->kobj)->cset->zdev->lock;
 		break;
 	case ZTI: /* we might not want to take a lock but... */
-		lock = &to_zio_ti(&head->kobj)->lock;
+		lock = &to_zio_ti(&head->kobj)->cset->zdev->lock;
 		break;
 	case ZBI:
-		lock = &to_zio_bi(&head->kobj)->lock;
+		lock = &to_zio_bi(&head->kobj)->cset->zdev->lock;
 		break;
 	default:
 		WARN(1, "ZIO: unknown zio object %i\n", head->zobj_type);