diff --git a/src/binary_c_exit_macros.h b/src/binary_c_exit_macros.h
index 744fea10345affffabf834a6c9e7e95996760719..1470c45c9f436fb274133e5c49c65861653714e1 100644
--- a/src/binary_c_exit_macros.h
+++ b/src/binary_c_exit_macros.h
@@ -44,7 +44,7 @@
     }
 
 
-#define MAX_EXIT_STATEMENT_PRINT_SIZE 2048
+#define MAX_EXIT_STATEMENT_PRINT_SIZE (KIBIBYTE*16)
 
 #define Exit_or_return_void(...) {                                      \
         Exit_or_return((void) 0,__VA_ARGS__);                           \
diff --git a/src/binary_c_structures.h b/src/binary_c_structures.h
index 89e8cc0d64403c85777a627b504d7842c71c1001..50fc4d185d3cd90659f29f4a6afcec658827f6aa 100644
--- a/src/binary_c_structures.h
+++ b/src/binary_c_structures.h
@@ -1118,6 +1118,7 @@ struct disc_loss_t {
 };
 
 struct disc_t {
+    struct stardata_t * stardata;
     struct memoize_hash_t * memo; /* memoize data */
     double M; // disc total mass
     double alpha; // disc viscosity constant (dimensionless)
diff --git a/src/common_envelope/common_envelope_evolution_BSE.c b/src/common_envelope/common_envelope_evolution_BSE.c
index 0333ab15fdbf80e4ccb2f0026f3b6dd6f0a47bc8..25837166c8a84edc0b1fba16debd091f1edabdce 100644
--- a/src/common_envelope/common_envelope_evolution_BSE.c
+++ b/src/common_envelope/common_envelope_evolution_BSE.c
@@ -2005,7 +2005,7 @@ end_section:
             cbdisc = new_disc(DISC_CIRCUMBINARY,
                               stardata,
                               DISC_OUTER_EDGE);
-
+            cbdisc->stardata = stardata;
             double discM = mass_ejected * f_M;
             double discJ = J_ejected    * f_J;
             
diff --git a/src/disc/disc_new_zone_radii.c b/src/disc/disc_new_zone_radii.c
index 991fdeab27865c6fcaef2b26174a7d5bde186808..27d2730674e8ab62bb1f95e5243956dca39f6d91 100644
--- a/src/disc/disc_new_zone_radii.c
+++ b/src/disc/disc_new_zone_radii.c
@@ -136,7 +136,12 @@ Boolean disc_new_zone_radii(struct disc_t * const disc)
         {
             Safe_free(P);
             Safe_free(Q);
-            printf("ihottest -1 error\n");
+            struct stardata_t * const stardata = disc->stardata;
+            char * s = cmd_line_argstring(stardata);
+            Exit_binary_c(2,
+                          "args were : %s\n",
+                          cmd_line_argstring(stardata));
+            Safe_free(s);
             return FALSE;
         }
         
diff --git a/src/disc/disc_parameters.h b/src/disc/disc_parameters.h
index deb608bd40c6626a79e8f3a087b792ea845d7d01..128fa9ccaf3b589624f1dda60f03750d8d96df58 100644
--- a/src/disc/disc_parameters.h
+++ b/src/disc/disc_parameters.h
@@ -9,8 +9,8 @@
 /*
  * Logging for individual systems with discs
  */
-#define DISC_LOG
-#define DISC_LOG_2D
+//#define DISC_LOG
+//#define DISC_LOG_2D
 
 /*
  * Disc log max sizes (0 == unlimited)
diff --git a/src/main.c b/src/main.c
index 8fd082f366fb214e88494682a9899bfc6dfa2e51..ac4dac691c35e28a8eeac33b931da91586bc72f2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -26,7 +26,6 @@
  * For help and other documention, please see the doc/
  * directory.
  */
- 
 static int binary_c_main(int argc,
                          char ** argv,
                          struct stardata_t ** RESTRICT s);
diff --git a/src/memory/initialize_pointers.c b/src/memory/initialize_pointers.c
index 5f71207062f7c573902ba9995806cc1469c1d2fe..8d4226c791abe3174b53fbe1770557ee5644775f 100644
--- a/src/memory/initialize_pointers.c
+++ b/src/memory/initialize_pointers.c
@@ -8,7 +8,7 @@ void initialize_pointers(struct stardata_t * const stardata,
     /*
      * Set up pointers to memory locations required
      * by binary_c structures, 
-     * e.g. stardata, global_stardata, preferences
+     * e.g. stardata, preferences
      *
      * Both stardata and preferences should be defined
      * elsewhere, and must not be NULL
diff --git a/src/perl/scripts2/cbdiscs.pl b/src/perl/scripts2/cbdiscs.pl
index 5b664666734a2f3b077a3719f1ad31ca2e4c68db..d19779a4307410a11f88673719b0987a5b8a94e9 100755
--- a/src/perl/scripts2/cbdiscs.pl
+++ b/src/perl/scripts2/cbdiscs.pl
@@ -43,7 +43,7 @@ use threads::shared;
 my $lockvar : shared;
 
 # number of computational threads to launch
-my $nthreads = 1; # rob_misc::ncpus();
+my $nthreads = ("@ARGV"=~/nthreads=(\d+)/)[0] // 1;#rob_misc::ncpus();
 
 # make a new stellar population
 my $population = binary_grid2->new(
@@ -514,6 +514,8 @@ sub parse_data
                     $r->{final_eccentricity}->{$population->rebin($final_eccentricity,0.025)} += $p;
                 }
 
+                if(defined $initparamspace_fp)
+                    
                 {
                     # output init param space
                     lock $lockvar;
@@ -528,9 +530,8 @@ sub parse_data
                         $final_eccentricity,
                         $p;
 
-                    
-                    print {$initparamspace_fp} $s;
-                    #print $s;
+                        print {$initparamspace_fp} $s;
+                        #print $s;
                 }
             }
             elsif($header eq 'DISC_START')
diff --git a/src/setup/cmd_line_argstring.c b/src/setup/cmd_line_argstring.c
new file mode 100644
index 0000000000000000000000000000000000000000..550930975b753e740db181d31f7feabbee1018c4
--- /dev/null
+++ b/src/setup/cmd_line_argstring.c
@@ -0,0 +1,32 @@
+#include "../binary_c.h"
+
+char * cmd_line_argstring(struct stardata_t * const stardata)
+{
+    char * s = '\0';
+    int i;
+    for(i=0;i<stardata->common.argc;i++)
+    {
+        char * s2;
+        int n;
+        if(s == NULL)
+        {
+            n = asprintf(&s,"%s",stardata->common.argv[i]);
+        }
+        else
+        {
+            n = asprintf(&s2,
+                         "%s %s",
+                         s,
+                         stardata->common.argv[i]);
+            Safe_free(s);
+            s = s2;
+        }
+
+        if(n<0)
+        {
+            Exit_binary_c(2,
+                          "Could not malloc in asprintf\n");
+        }
+    }
+    return s;
+}
diff --git a/src/setup/setup_prototypes.h b/src/setup/setup_prototypes.h
index 1a0941eb7bb46d9a9b98520aacb978e2d87a493f..600022c93d3ef564d89636c3335e385d8544901f 100644
--- a/src/setup/setup_prototypes.h
+++ b/src/setup/setup_prototypes.h
@@ -91,6 +91,7 @@ void set_cmd_line_macro_pairs(struct stardata_t * RESTRICT const stardata,
                               struct cmd_line_arg_t * const cmd_line_args2,
                               unsigned int arg_count);
 void set_metallicities(struct stardata_t * RESTRICT const stardata);
+char * cmd_line_argstring(struct stardata_t * const stardata);
 
 
 #endif /* SETUP_PROTOYPES_H */