diff -x '*.po' -d -urpN abrt.6/src/dbus/abrt-dbus.c abrt.7/src/dbus/abrt-dbus.c
--- abrt.6/src/dbus/abrt-dbus.c	2012-07-10 19:15:17.000000000 +0200
+++ abrt.7/src/dbus/abrt-dbus.c	2012-07-11 10:53:32.120124364 +0200
@@ -362,25 +362,30 @@ static bool allowed_problem_dir(const ch
     return true;
 }
 
+/* Saves the problem data
+ * creates the problem_dir in the configured problems directory.
+ */
+static int problem_data_save(problem_data_t *pd, char **problem_id)
+{
+    load_abrt_conf();
+    LibreportError res = save_dump_dir_from_problem_data(pd, problem_id, g_settings_dump_location);
+    VERB2 log("problem id: '%s'", *problem_id);
+
+    return res;
+}
+
 static bool handle_new_problem(GVariant *problem_info, char **problem_id, char **error)
 {
     bool result = true;
 
-    problem_data_t *pd = problem_data_new();
+    problem_data_t *pd = new_problem_data();
 
     GVariantIter *iter;
     g_variant_get(problem_info, "a{ss}", &iter);
     gchar *key, *value;
     while (g_variant_iter_loop(iter, "{ss}", &key, &value))
     {
-        if (problem_data_add_item(pd, key, value) != 0)
-        {
-            if (error)
-                *error = xasprintf("Cannot save item '%s'", key);
-
-            result = false;
-            goto handle_new_problem_cleanup;
-        }
+        add_to_problem_data_ext(pd, key, value, CD_FLAG_TXT);
     }
 
     if (problem_data_save(pd, problem_id) != 0)
@@ -391,8 +396,7 @@ static bool handle_new_problem(GVariant
         result = false;
     }
 
-handle_new_problem_cleanup:
-    problem_data_destroy(pd);
+    free_problem_data(pd);
     return result;
 }
 
diff -x '*.po' -d -urpN abrt.6/src/include/hooklib.h abrt.7/src/include/hooklib.h
--- abrt.6/src/include/hooklib.h	2012-07-10 19:15:17.000000000 +0200
+++ abrt.7/src/include/hooklib.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-/*
-    Copyright (C) 2009 RedHat inc.
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-*/
-
-problem_data_t * problem_data_new();
-int problem_data_add_item(problem_data_t *pd, char *key, char *value);
-int problem_data_add_file(problem_data_t *pd, const char* path);
-int problem_data_save(problem_data_t *pd, char **problem_id);
-void problem_data_destroy(problem_data_t *pd);
diff -x '*.po' -d -urpN abrt.6/src/lib/hooklib.c abrt.7/src/lib/hooklib.c
--- abrt.6/src/lib/hooklib.c	2012-07-10 19:15:17.000000000 +0200
+++ abrt.7/src/lib/hooklib.c	2012-07-11 10:54:48.850894422 +0200
@@ -342,51 +342,3 @@ char *get_backtrace(const char *dump_dir
     free(args[7]);
     return bt;
 }
-
-static const char *get_filename(const char *path)
-{
-    const char *filename = NULL;
-
-    filename = strrchr(path, '/');
-    if (filename)
-    /* +1 => strip the '/' */
-        return filename+1;
-
-    return path;
-}
-
-problem_data_t *problem_data_new()
-{
-    return new_problem_data();
-}
-
-int problem_data_add_item(problem_data_t *pd, char * key, char * value)
-{
-    add_to_problem_data_ext(pd, key, value, CD_FLAG_TXT);
-    return 0;
-}
-
-int problem_data_add_file(problem_data_t *pd, const char* path)
-{
-    add_to_problem_data_ext(pd, get_filename(path), path, CD_FLAG_FILE);
-    return 0;
-}
-
-/** Saves the problem data
- * creates the problem_dir in the configured problems directory
- * destroyes
-*/
-int problem_data_save(problem_data_t *pd, char **problem_id)
-{
-    load_abrt_conf();
-    LibreportError res = save_dump_dir_from_problem_data(pd, problem_id, g_settings_dump_location);
-    VERB2 log("problem id: '%s'", *problem_id);
-
-    return res;
-}
-
-void problem_data_destroy(problem_data_t *pd)
-{
-    free_problem_data(pd);
-    pd = NULL;
-}
