Index: branches/stable/mondo/src/common/libmondo-devices.c
===================================================================
--- branches/stable/mondo/src/common/libmondo-devices.c (revision 1156)
+++ branches/stable/mondo/src/common/libmondo-devices.c (revision 1166)
@@ -41,5 +41,4 @@
 
 extern bool g_ISO_restore_mode;
-extern struct s_bkpinfo *g_bkpinfo_DONTUSETHIS;
 extern char *g_erase_tmpdir_and_scratchdir;
 extern char *g_selfmounted_isodir;
Index: branches/stable/mondo/src/common/libmondo-mountlist.c
===================================================================
--- branches/stable/mondo/src/common/libmondo-mountlist.c (revision 1147)
+++ branches/stable/mondo/src/common/libmondo-mountlist.c (revision 1166)
@@ -22,10 +22,4 @@
 /*@unused@*/
 //static char cvsid[] = "$Id$";
-
-/**
- * A global copy of @c bkpinfo, to aid in debugging. As the name implies, <em>don't use this</em>.
- * @ingroup globalGroup
- */
-struct s_bkpinfo *g_bkpinfo_DONTUSETHIS = NULL;
 
 /**
Index: branches/stable/mondo/src/include/my-stuff.h
===================================================================
--- branches/stable/mondo/src/include/my-stuff.h (revision 1158)
+++ branches/stable/mondo/src/include/my-stuff.h (revision 1166)
@@ -271,5 +271,5 @@
  * Free variables and call finish(@p x).
  */
-#define paranoid_MR_finish(x) {free_MR_global_filenames (); if (g_bkpinfo_DONTUSETHIS) mr_free (g_bkpinfo_DONTUSETHIS ); finish(x); }
+#define paranoid_MR_finish(x) {free_MR_global_filenames (); if (bkpinfo) mr_free (bkpinfo); finish(x); }
 
 /**
Index: branches/stable/mondo/src/mondorestore/mondo-restore-EXT.h
===================================================================
--- branches/stable/mondo/mondo/mondorestore/mondo-restore-EXT.h (revision 425)
+++ branches/stable/mondo/src/mondorestore/mondo-restore-EXT.h (revision 1166)
@@ -12,5 +12,4 @@
 extern char *g_isodir_format;
 
-extern struct s_bkpinfo *g_bkpinfo_DONTUSETHIS;
 extern char *g_biggielist_txt;
 extern char *g_filelist_full;
@@ -54,5 +53,5 @@
 											long, char *, long long,
 											struct s_node *);
-extern int restore_a_tarball_from_CD(char *, int, struct s_node *);
+extern int restore_a_tarball_from_CD(char *, int, struct s_node *, struct s_bkpinfo *);
 extern int restore_a_tarball_from_stream(struct s_bkpinfo *, char *, int,
 										 struct s_node *, long long);
Index: branches/stable/mondo/src/mondorestore/mondo-restore.c
===================================================================
--- branches/stable/mondo/src/mondorestore/mondo-restore.c (revision 1125)
+++ branches/stable/mondo/src/mondorestore/mondo-restore.c (revision 1166)
@@ -38,6 +38,4 @@
  **************************************************************************/
 extern char *g_tmpfs_mountpt;	// declared in libmondo-tools.c
-extern struct s_bkpinfo *g_bkpinfo_DONTUSETHIS;	// used by finish() to free
-												// up global bkpinfo struct
 extern bool g_text_mode;
 extern FILE *g_fprep;
@@ -1580,5 +1578,5 @@
 restore_a_tarball_from_CD(char *tarball_fname,
 						  long current_tarball_number,
-						  struct s_node *filelist)
+						  struct s_node *filelist, struct s_bkpinfo *)
 {
 	int retval = 0;
@@ -2251,5 +2249,5 @@
 					restore_a_tarball_from_CD(tarball_fname,
 											  current_tarball_number,
-											  filelist);
+											  filelist, bkpinfo);
 			}
 			sprintf(tmp, "%s #%d, fileset #%ld - restore ",
@@ -2911,5 +2909,5 @@
 		g_text_mode = FALSE;
 	}							// newt :-)
-	bkpinfo = g_bkpinfo_DONTUSETHIS = mr_malloc(sizeof(struct s_bkpinfo));
+	bkpinfo = mr_malloc(sizeof(struct s_bkpinfo));
 	mountlist = mr_malloc(sizeof(struct mountlist_itself));
 	raidlist = mr_malloc(sizeof(struct raidlist_itself));
Index: branches/stable/mondo/src/mondorestore/mondo-restore.h
===================================================================
--- branches/2.05/mondo/mondo/mondorestore/mondo-restore.h (revision 128)
+++ branches/stable/mondo/src/mondorestore/mondo-restore.h (revision 1166)
@@ -27,5 +27,5 @@
 									 char *, long long, struct s_node *,
 									 int, char *);
-int restore_a_tarball_from_CD(char *, long, struct s_node *);
+int restore_a_tarball_from_CD(char *, long, struct s_node *, struct s_bkpinfo *);
 int restore_a_tarball_from_stream(struct s_bkpinfo *, char *, long,
 								  struct s_node *, long long, char *,
Index: branches/stable/mondo/src/mondorestore/mondo-rstr-tools.c
===================================================================
--- branches/stable/mondo/src/mondorestore/mondo-rstr-tools.c (revision 1125)
+++ branches/stable/mondo/src/mondorestore/mondo-rstr-tools.c (revision 1166)
@@ -37,5 +37,4 @@
 extern char *g_mountlist_fname;	// where mountlist.txt (the mountlist file) is stored
 extern char *g_mondo_home;		// homedir of Mondo; usually /usr/local/share/mondo
-extern struct s_bkpinfo *g_bkpinfo_DONTUSETHIS;
 
 extern t_bkptype g_backup_media_type;
@@ -2018,5 +2017,6 @@
 	log_to_screen
 		("Mondorestore is terminating in response to a signal from the OS");
-	paranoid_MR_finish(254);
+	free_MR_global_filenames();
+	finish(254);
 }
 
