diff --git a/sqlite3.go b/sqlite3.go
index fa2d84a..11bfba4 100644
--- a/sqlite3.go
+++ b/sqlite3.go
@@ -373,8 +373,8 @@ func (rc *SQLiteRows) Next(dest []driver.Value) error {
 		case C.SQLITE_FLOAT:
 			dest[i] = float64(C.sqlite3_column_double(rc.s.s, C.int(i)))
 		case C.SQLITE_BLOB:
-			n := int(C.sqlite3_column_bytes(rc.s.s, C.int(i)))
 			p := C.sqlite3_column_blob(rc.s.s, C.int(i))
+			n := int(C.sqlite3_column_bytes(rc.s.s, C.int(i)))
 			switch dest[i].(type) {
 			case sql.RawBytes:
 				dest[i] = (*[1 << 30]byte)(unsafe.Pointer(p))[0:n]