diff --git a/main/bucket.c b/main/bucket.c
index 8f6acdaa5829fd0d29f0f7c13177c32d5f1cebce..10d230b7b12d0ac3b3a6a46fbd7c339d67e4e9c1 100644
--- a/main/bucket.c
+++ b/main/bucket.c
@@ -254,7 +254,7 @@ int __ast_bucket_scheme_register(const char *name, struct ast_sorcery_wizard *bu
 	bucket_file_destroy_cb destroy_cb, struct ast_module *module)
 {
 	SCOPED_AO2WRLOCK(lock, schemes);
-	struct ast_bucket_scheme *scheme;
+	RAII_VAR(struct ast_bucket_scheme *, scheme, NULL, ao2_cleanup);
 
 	if (ast_strlen_zero(name) || !bucket || !file ||
 	    !bucket->create || !bucket->delete || !bucket->retrieve_id ||