struct pakfire_linter;
 
 int pakfire_linter_create(struct pakfire_linter** linter,
-       struct pakfire_ctx* ctx, struct pakfire_archive* archive);
+       struct pakfire* pakfire, struct pakfire_archive* archive);
 
 struct pakfire_linter* pakfire_linter_ref(struct pakfire_linter* linter);
 struct pakfire_linter* pakfire_linter_unref(struct pakfire_linter* linter);
 
 #include <pakfire/linter.h>
 #include <pakfire/logging.h>
 #include <pakfire/package.h>
+#include <pakfire/pakfire.h>
 #include <pakfire/string.h>
 
 struct pakfire_linter_result {
        struct pakfire_ctx* ctx;
        int nrefs;
 
+       // Pakfire
+       struct pakfire* pakfire;
+
        // Archive
        struct pakfire_archive* archive;
 
        pakfire_linter_result(linter, PAKFIRE_LINTER_ERROR, format, ## __VA_ARGS__)
 
 int pakfire_linter_create(struct pakfire_linter** linter,
-               struct pakfire_ctx* ctx, struct pakfire_archive* archive) {
+               struct pakfire* pakfire, struct pakfire_archive* archive) {
        struct pakfire_linter* l = NULL;
        int r;
 
                return -errno;
 
        // Reference the context
-       l->ctx = pakfire_ctx_ref(ctx);
+       l->ctx = pakfire_ctx(pakfire);
+
+       // Reference Pakfire
+       l->pakfire = pakfire_ref(pakfire);
 
        // Initialize reference counter
        l->nrefs = 1;
                pakfire_archive_unref(linter->archive);
        if (linter->pkg)
                pakfire_package_unref(linter->pkg);
+       if (linter->pakfire)
+               pakfire_unref(linter->pakfire);
        if (linter->ctx)
                pakfire_ctx_unref(linter->ctx);
        free(linter);