diff --git a/include/page.h b/include/page.h
index 421118fd3bb00357206bc145f5a7a84f4be80af5..dcdfa1d17b7aa2da717969f17e736bc9bb9b5f4f 100644
--- a/include/page.h
+++ b/include/page.h
@@ -42,10 +42,8 @@ void newpage(short pg);
 
 int pagembb(short pg, short *x1, short *y1, short *x2, short *y2);
 
-/* new functions */
+log_page *pageAlloc();
 
-log_page *page_alloc();
-
-void page_free(log_page **page);
+void pageFree(log_page **page);
 
 #endif
diff --git a/src/log.c b/src/log.c
index 662785dab13667ebdde8bfb2b0f831cf5aecc893..2377de6a853c32a41f6113768f62bdf86e383a5e 100644
--- a/src/log.c
+++ b/src/log.c
@@ -14360,7 +14360,7 @@ static void initialize()
 	clearalpha();
 
 	for(int i = 0; i < log_maxpages; ++i)
-		gg.pages[i] = page_alloc();
+		gg.pages[i] = pageAlloc();
 	gg.numpages = 1;
 	gg.curpage = 1;
 	gg.showpage = 1;
@@ -14512,6 +14512,12 @@ static void initialize()
 
 #undef rtn
 
+static void cleanlog()
+{
+	for(int i = 0; i < log_maxpages; ++i)
+		pageFree(&gg.pages[i]);
+}
+
 
 static void shownews()
 {
@@ -14956,6 +14962,7 @@ int main(int argc, char * argv[])
 	nk_setcapslock(entrycapslock);
 	nk_settransarray(nk_ktstandard, &curkeytrans);
 	showalpha();
+	cleanlog();
 	if (dumpfile != NULL)
 		fclose(dumpfile);
 	if (tracefile != NULL)
diff --git a/src/page.c b/src/page.c
index f33c1a9b0a16aea7350c4cf8e84f59685e3de50e..75e306101e7724ea1c3afb0858954c094677372b 100644
--- a/src/page.c
+++ b/src/page.c
@@ -202,7 +202,7 @@ int pagembb(short pg, short *x1, short *y1, short *x2, short *y2)
 	return (*x1 < *x2);
 }
 
-log_page *page_alloc()
+log_page *pageAlloc()
 {
 	log_page *newpage = Malloc(sizeof(log_page));
 
@@ -219,7 +219,7 @@ log_page *page_alloc()
 	return newpage;
 }
 
-void page_free(log_page **page)
+void pageFree(log_page **page)
 {
 	Free(*page);
 	*page = NULL;