Index: driver/cfa.cc
===================================================================
--- driver/cfa.cc	(revision c2051e106b97c83b3809b5b85c34a13861991d58)
+++ driver/cfa.cc	(revision 81e60f78be23ef2411ac7fc6ebe5521e62bddc9f)
@@ -33,5 +33,5 @@
 using std::to_string;
 
-//#define __DEBUG_H__
+// #define __DEBUG_H__
 
 static string __CFA_FLAGPREFIX__( "__CFA_FLAG" );		// "N__=" suffix
@@ -345,11 +345,11 @@
 
 	if(disttree) {
-		Putenv( argv, "--prelude-dir=" + dir(argv[0])) );
+		Putenv( argv, "--prelude-dir=" + dir(argv[0]) );
 	} else if(intree) {
-		Putenv( argv, "--prelude-dir=" + libdir + "/prelude") );
-	} else {
-		Putenv( argv, "--prelude-dir=" + libdir) );
+		Putenv( argv, "--prelude-dir=" + libdir + "/prelude" );
+	} else {
+		Putenv( argv, "--prelude-dir=" + libdir );
 	}
-	nargs += 1;
+
 	for ( int i = 0; i < nlibs; i += 1 ) {				// copy non-user libraries after all user libraries
 		args[nargs++] = libs[i];
@@ -402,6 +402,4 @@
 	} // if
 
-	Putenv( argv, "--prelude-dir=" + libdir + (intree ? "/prelude" : "") );
-
 	if ( debug ) {
 		heading += " (debug)";
@@ -420,5 +418,5 @@
 		}
 		if ( bprefix[bprefix.length() - 1] != '/' ) bprefix += '/';
-		Putenv( argv, ( *new string( string("-B=") + bprefix ) ).c_str() );
+		Putenv( argv, string("-B=") + bprefix );
 	} // if
 
