 	}
 
 	// If no reordering, force using constant bandwidth.
-	if (!opts.performReorder)
+	if (!opts.performReorder) {
+		opts.performMC64 = false;
 		opts.variableBandwidth = false;
+	}
+
+	// If no MC64 reordering, force no scaling.
+	if (!opts.performMC64)
+		opts.applyScaling = false;
 
 	// If using variable bandwidth, force using LU factorization.
 	if (opts.variableBandwidth)

	cudaSetDevice(max_idx);
}

// -----------------------------------------------------------------------------
// GetProblemSpecs()
//

// -----------------------------------------------------------------------------
void ShowUsage()
{
	cout << "Usage:  driver_mm -p=NUM_PARTITIONS -m=MATFILE [OPTIONS]" << endl;
	cout << endl;
	cout << " -p=NUM_PARTITIONS" << endl;
	cout << " --num-partitions=NUM_PARTITIONS" << endl;
	cout << "        Specify the number of partitions." << endl;
	cout << " --no-reordering" << endl;
	cout << "        Do not perform reordering (default false)." << endl;
	cout << " --no-mc64" << endl;
	cout << "        Do not perform MC64 reordering (ignored if --no-reordering is specified; default false)." << endl;
	cout << " --no-scaling" << endl;
	cout << "        Do not perform MC64 scaling (ignored if --no-reordering or --no-mc64 is specified; default false)." << endl;
	cout << " -t=TOLERANCE" << endl;
	cout << " --tolerance=TOLERANCE" << endl;
	cout << "        Use TOLERANCE for BiCGStab stopping criteria (default 1e-6)." << endl;
