diff --git a/src/backup.c b/src/backup.c
index 380dc1c0..dbafd7e1 100644
--- a/src/backup.c
+++ b/src/backup.c
@@ -2173,7 +2173,7 @@ backup_files(void *arg)
 
 		if (S_ISREG(buf.st_mode))
 		{
-			pgFile	  **prev_file;
+			pgFile	  **prev_file = NULL;
 
 			/* Check that file exist in previous backup */
 			if (current.backup_mode != BACKUP_MODE_FULL)
@@ -2214,7 +2214,7 @@ backup_files(void *arg)
 				bool skip = false;
 
 				/* If non-data file has not changed since last backup... */
-				if (file->exists_in_prev &&
+				if (prev_file && file->exists_in_prev &&
 					buf.st_mtime < current.parent_backup)
 				{
 					calc_file_checksum(file);
diff --git a/src/merge.c b/src/merge.c
index 13263c64..c4d3a22f 100644
--- a/src/merge.c
+++ b/src/merge.c
@@ -165,7 +165,7 @@ merge_backups(pgBackup *to_backup, pgBackup *from_backup)
 	parray	   *files,
 			   *to_files;
 	pthread_t  *threads = NULL;
-	merge_files_arg *threads_args;
+	merge_files_arg *threads_args = NULL;
 	int			i;
 	bool		merge_isok = true;