Index: sansmodels/src/sans/models/MultiShellModel.py
===================================================================
--- sansmodels/src/sans/models/MultiShellModel.py	(revision 2c4b289dd897e67655e7c208484ad09f086d1094)
+++ sansmodels/src/sans/models/MultiShellModel.py	(revision 2cc633bae7266a8ade40cec768899907446f505e)
@@ -53,6 +53,5 @@
         self.name = "MultiShellModel"
         ## Model description
-        self.description ="""
-		Model parameters:
+        self.description ="""Model parameters:
 		scale : scale factor
 		core_radius : Core radius of the multishell
@@ -76,5 +75,5 @@
 
 		## fittable parameters
-        self.fixed=['radius.width']
+        self.fixed=['core_radius.width', 's_thickness.width', 'w_thickness.width']
         
         ## parameters with orientation
Index: sansmodels/src/sans/models/c_extensions/multishell.h
===================================================================
--- sansmodels/src/sans/models/c_extensions/multishell.h	(revision 3d25331f0e8a822fc6c59f15883b1cd21463b567)
+++ sansmodels/src/sans/models/c_extensions/multishell.h	(revision 2cc633bae7266a8ade40cec768899907446f505e)
@@ -6,17 +6,16 @@
 
 	[PYTHONCLASS] = MultiShellModel
-	[DISP_PARAMS] = core_radius
-	[DESCRIPTION] =<text>
-						Model parameters:
-						scale : scale factor
-						core_radius : Core radius of the multishell 
-						s_thickness: shell thickness
-						w_thickness: water thickness
-						core_sld: core scattering length density
-						shell_sld: shell scattering length density
-						n_pairs:number of pairs of water/shell
-						background: incoherent background
+	[DISP_PARAMS] = core_radius, s_thickness, w_thickness
+	[DESCRIPTION] =<text>Model parameters:
+				scale : scale factor
+				core_radius : Core radius of the multishell
+				s_thickness: shell thickness
+				w_thickness: water thickness
+				core_sld: core scattering length density
+				shell_sld: shell scattering length density
+				n_pairs:number of pairs of water/shell
+				background: incoherent background
                </text>
-	[FIXED]=  core_radius.width
+	[FIXED]=  core_radius.width; s_thickness.width; w_thickness.width
 	[ORIENTATION_PARAMS]= <text> </text>
  */
Index: sansmodels/src/sans/models/c_models/CMultiShellModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CMultiShellModel.cpp	(revision 3d25331f0e8a822fc6c59f15883b1cd21463b567)
+++ sansmodels/src/sans/models/c_models/CMultiShellModel.cpp	(revision 2cc633bae7266a8ade40cec768899907446f505e)
@@ -97,4 +97,10 @@
         self->model->core_radius.dispersion->accept_as_source(visitor, self->model->core_radius.dispersion, disp_dict);
         PyDict_SetItemString(self->dispersion, "core_radius", disp_dict);
+        disp_dict = PyDict_New();
+        self->model->s_thickness.dispersion->accept_as_source(visitor, self->model->s_thickness.dispersion, disp_dict);
+        PyDict_SetItemString(self->dispersion, "s_thickness", disp_dict);
+        disp_dict = PyDict_New();
+        self->model->w_thickness.dispersion->accept_as_source(visitor, self->model->w_thickness.dispersion, disp_dict);
+        PyDict_SetItemString(self->dispersion, "w_thickness", disp_dict);
 
 
@@ -162,4 +168,8 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "core_radius");
     self->model->core_radius.dispersion->accept_as_destination(visitor, self->model->core_radius.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "s_thickness");
+    self->model->s_thickness.dispersion->accept_as_destination(visitor, self->model->s_thickness.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "w_thickness");
+    self->model->w_thickness.dispersion->accept_as_destination(visitor, self->model->w_thickness.dispersion, disp_dict);
 
 	
@@ -226,4 +236,8 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "core_radius");
     self->model->core_radius.dispersion->accept_as_destination(visitor, self->model->core_radius.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "s_thickness");
+    self->model->s_thickness.dispersion->accept_as_destination(visitor, self->model->s_thickness.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "w_thickness");
+    self->model->w_thickness.dispersion->accept_as_destination(visitor, self->model->w_thickness.dispersion, disp_dict);
 
 	
@@ -283,4 +297,8 @@
     if (!strcmp(par_name, "core_radius")) {
         self->model->core_radius.dispersion = dispersion;
+    } else    if (!strcmp(par_name, "s_thickness")) {
+        self->model->s_thickness.dispersion = dispersion;
+    } else    if (!strcmp(par_name, "w_thickness")) {
+        self->model->w_thickness.dispersion = dispersion;
     } else {
 	    PyErr_SetString(CMultiShellModelError,
Index: sansmodels/src/sans/models/c_models/flexiblecylinder.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/flexiblecylinder.cpp	(revision e6fa43e5fac023a93ca925ac3050053fec8012fe)
+++ sansmodels/src/sans/models/c_models/flexiblecylinder.cpp	(revision 2cc633bae7266a8ade40cec768899907446f505e)
@@ -52,5 +52,5 @@
  */
 double FlexibleCylinderModel :: operator()(double q) {
-	double dp[5];
+	double dp[6];
 
 	// Fill parameter array for IGOR library
@@ -64,14 +64,14 @@
 
 	// Get the dispersion points for the length
-	vector<WeightPoint> weights_length;
-	length.get_weights(weights_length);
+	vector<WeightPoint> weights_len;
+	length.get_weights(weights_len);
 
 	// Get the dispersion points for the kuhn_length
-	vector<WeightPoint> weights_kuhn_length;
-	kuhn_length.get_weights(weights_kuhn_length);
+	vector<WeightPoint> weights_kuhn;
+	kuhn_length.get_weights(weights_kuhn);
 
 	// Get the dispersion points for the radius
-	vector<WeightPoint> weights_radius;
-	radius.get_weights(weights_radius);
+	vector<WeightPoint> weights_rad;
+	radius.get_weights(weights_rad);
 
 	// Perform the computation, with all weight points
@@ -80,19 +80,20 @@
 
 	// Loop over semi axis A weight points
-	for(int i=0; i< (int)weights_length.size(); i++) {
-		dp[1] = weights_length[i].value;
+	for(int i=0; i< (int)weights_len.size(); i++) {
+		dp[1] = weights_len[i].value;
 
 		// Loop over semi axis B weight points
-		for(int j=0; j< (int)weights_kuhn_length.size(); j++) {
-			dp[2] = weights_kuhn_length[j].value;
+		for(int j=0; j< (int)weights_kuhn.size(); j++) {
+			dp[2] = weights_kuhn[j].value;
 
 			// Loop over semi axis C weight points
-			for(int k=0; k< (int)weights_radius.size(); k++) {
-				dp[3] = weights_radius[k].value;
+			for(int k=0; k< (int)weights_rad.size(); k++) {
+				dp[3] = weights_rad[k].value;
 
-				sum += weights_length[i].weight
-					* weights_kuhn_length[j].weight * weights_radius[k].weight * FlexExclVolCyl(dp, q);
-				norm += weights_length[i].weight
-					* weights_kuhn_length[j]*weights_radius[k].weight;
+				sum += weights_len[i].weight
+					* weights_kuhn[j].weight*weights_rad[k].weight * FlexExclVolCyl(dp, q);
+				norm += weights_len[i].weight
+					* weights_kuhn[j].weight*weights_rad[k].weight;
+			}
 		}
 	}
Index: sansmodels/src/sans/models/c_models/multishell.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/multishell.cpp	(revision 3d25331f0e8a822fc6c59f15883b1cd21463b567)
+++ sansmodels/src/sans/models/c_models/multishell.cpp	(revision 2cc633bae7266a8ade40cec768899907446f505e)
@@ -66,4 +66,12 @@
 	core_radius.get_weights(weights_core_radius);
 
+	// Get the dispersion points for the s_thickness
+	vector<WeightPoint> weights_s_thickness;
+	s_thickness.get_weights(weights_s_thickness);
+
+	// Get the dispersion points for the w_thickness
+	vector<WeightPoint> weights_w_thickness;
+	w_thickness.get_weights(weights_w_thickness);
+
 	// Perform the computation, with all weight points
 	double sum = 0.0;
@@ -73,8 +81,15 @@
 	for(int i=0; i< (int)weights_core_radius.size(); i++) {
 		dp[1] = weights_core_radius[i].value;
+		for(int j=0; j< (int)weights_s_thickness.size(); j++){
+			dp[2] = weights_s_thickness[j].value;
+			for(int k=0; k< (int)weights_w_thickness.size(); k++){
+				dp[3] = weights_w_thickness[k].value;
 
-		sum += weights_core_radius[i].weight
-			* MultiShell(dp, q);
-		norm += weights_core_radius[i].weight;
+				sum += weights_core_radius[i].weight*weights_s_thickness[j].weight
+					*weights_w_thickness[k].weight* MultiShell(dp, q);
+				norm += weights_core_radius[i].weight*weights_s_thickness[j].weight
+					*weights_w_thickness[k].weight;
+			}
+		}
 	}
 	return sum/norm + background();
