diff --git a/prof.supp b/prof.supp
index 8a33cdbf..084b2cd8 100644
--- a/prof.supp
+++ b/prof.supp
@@ -7,6 +7,8 @@
   ...
 }
 
+# libotr
+
 {
   otrl_init
   Memcheck:Leak
@@ -17,3 +19,37 @@
   ...
 }
 
+{
+  otrl_privkey_read
+  Memcheck:Leak
+  ...
+  fun:otrl_privkey_read_FILEp
+  fun:otrl_privkey_read
+  ...
+}
+
+# Ignore history module, needs to be rewritten
+
+{
+  history_next
+  Memcheck:Leak
+  ...
+  fun:history_next
+  ...
+}
+
+{
+  history_previous
+  Memcheck:Leak
+  ...
+  fun:history_previous
+  ...
+}
+
+{
+  history_append
+  Memcheck:Leak
+  ...
+  fun:history_append
+  ...
+}
diff --git a/src/ui/windows.c b/src/ui/windows.c
index c3c44795..196f231b 100644
--- a/src/ui/windows.c
+++ b/src/ui/windows.c
@@ -258,6 +258,7 @@ wins_get_total_unread(void)
         result += window->unread;
         curr = g_list_next(curr);
     }
+    g_list_free(values);
     return result;
 }