diff --git a/fsl_glm.cc b/fsl_glm.cc
index d20d01d69d2d4b86ff75fba5777a5bd78b4d1aa4..4c9031a9088b4bd31135139cb55e5b61fa549014 100644
--- a/fsl_glm.cc
+++ b/fsl_glm.cc
@@ -51,6 +51,9 @@ using namespace std;
 	Option<int> dofset(string("--dof"),0,
 		string("        set degrees-of-freedom explicitly"),
 		false, requires_argument);
+	Option<bool> normdes(string("--des_norm"),FALSE,
+		string("        switch on normalisation of the design matrix columns to unit std. deviation"),
+		false, no_argument);
 	Option<bool> perfvn(string("--vn"),FALSE,
 		string("        perfrom MELODIC variance-normalisation on data"),
 		false, no_argument);
@@ -179,6 +182,9 @@ int setup(){
 	meanR=mean(data,1);
 	data = remmean(data,1);
 	design = remmean(design,1);
+	
+	if(normdes.value())
+		design =  SP(design,ones(design.Nrows(),1)*pow(stdev(design,1),-1));
 
 	if(fncontrasts.value()>""){//read contrast		
 		contrasts = read_ascii_matrix(fncontrasts.value());
@@ -244,6 +250,7 @@ int main(int argc,char *argv[]){
 			options.add(fnmask);
 			options.add(fnftest);
 			options.add(dofset);
+			options.add(normdes);
 			options.add(perfvn);
 			options.add(help);
 			options.add(outcope);