diff --git a/xfibresoptions.h b/xfibresoptions.h
index 9a1e71ed7810b2e1eb787669d559eea6a8a21331..9885ab279832f0f3cc58a7e7d23bece3021544fa 100644
--- a/xfibresoptions.h
+++ b/xfibresoptions.h
@@ -48,9 +48,10 @@ class xfibresOptions {
   Option<bool> all_ard;
   Option<bool> localinit;
   Option<bool> nonlin;
-  Option<bool> rician;
-  Option<bool> f0;
-  Option<bool> ardf0;
+  Option<bool> cnonlin;
+  FmribOption<bool> rician;
+  FmribOption<bool> f0;
+  FmribOption<bool> ardf0;
 
   void parse_command_line(int argc, char** argv,  Log& logger);
   
@@ -129,6 +130,8 @@ class xfibresOptions {
 	     false,no_argument),
    nonlin(string("--nonlinear"),false,string("Initialise with nonlinear fitting"),
 	  false,no_argument),
+   cnonlin(string("--cnonlinear"),false,string("Initialise with constrained nonlinear fitting"),
+	  false,no_argument),
    rician(string("--rician"),false,string("Use Rician noise modelling"),false,no_argument),
    f0(string("--f0"),false,string("Add to the model an unattenuated signal compartment"),false,no_argument),
    ardf0(string("--ardf0"),false,string("Use ard on f0"),false,no_argument),
@@ -156,6 +159,7 @@ class xfibresOptions {
        options.add(all_ard);
        options.add(localinit);
        options.add(nonlin);
+       options.add(cnonlin);
        options.add(rician);
        options.add(f0);
        options.add(ardf0);