Index: sasmodels/convert.py
===================================================================
--- sasmodels/convert.py	(revision bad8b1212431e9f040d688c7bd43c49ef99bedbd)
+++ sasmodels/convert.py	(revision 062db5a05f26e70feea0a4fd1ce809f6c457dedf)
@@ -154,4 +154,6 @@
         elif name == 'fractal':
             del oldpars['volfraction']
+        elif name == 'vesicle':
+            del oldpars['volfraction']
 
     return oldpars
@@ -191,3 +193,5 @@
         elif name == 'fractal':
             pars['volfraction'] = 1
+        elif name == 'vesicle':
+            pars['volfraction'] = 1
             
Index: sasmodels/models/vesicle.c
===================================================================
--- sasmodels/models/vesicle.c	(revision 321736f226b3c435616dc00b9de43863e55a24fe)
+++ sasmodels/models/vesicle.c	(revision 062db5a05f26e70feea0a4fd1ce809f6c457dedf)
@@ -2,9 +2,9 @@
 
 double Iq(double q, 
-          double sld, double solvent_sld,
+          double sld, double sld_solvent, double volfraction,
           double radius, double thickness);
 
 double Iqxy(double qx, double qy,
-          double sld, double solvent_sld,
+          double sld, double sld_solvent, double volfraction,
           double radius, double thickness);
 
@@ -20,5 +20,6 @@
 double Iq(double q,
     double sld,
-    double solvent_sld,
+    double sld_solvent,
+    double volfraction,
     double radius,
     double thickness)
@@ -30,29 +31,19 @@
 */
 
-/*
-   note that the sph_j1c we are using has been optimized for precision over
-   SasView's original implementation. HOWEVER at q==0 that implementation
-   set bes=1.0 rather than 0.0 (correct value) on the grounds I believe that 
-   bes=0.00 causes Iq to have a divide by 0 error (mostly encountered when
-   doing a theory curve in 2D?  We should verify this and if necessary fix
-     -PDB Feb 7, 2016 
-*/
 {
-    double bes,vol,contrast,f,f2;
+    double vol,contrast,f,f2;
 
     // core first, then add in shell
-    contrast = solvent_sld-sld;
-    bes = sph_j1c(q*radius);
+    contrast = sld_solvent-sld;
     vol = 4.0*M_PI/3.0*radius*radius*radius;
-    f = vol*bes*contrast;
+    f = vol*sph_j1c(q*radius)*contrast;
  
-    //now the shell
-    contrast = sld-solvent_sld;
-    bes = sph_j1c(q*(radius+thickness));
+    //now the shell. No volume normalization as this is done by the caller
+    contrast = sld-sld_solvent;
     vol = 4.0*M_PI/3.0*(radius+thickness)*(radius+thickness)*(radius+thickness);
-    f += vol*bes*contrast;
+    f += vol*sph_j1c(q*(radius+thickness))*contrast;
 
-    //rescale to [cm-1]. No volume normalization as this is done by the caller
-    f2 = f*f*1.0e-4;
+    //rescale to [cm-1]. 
+    f2 = volfraction*f*f*1.0e-4;
     
     return(f2);
@@ -61,5 +52,5 @@
 
 double Iqxy(double qx, double qy,
-          double sld, double solvent_sld,
+          double sld, double sld_solvent, double volfraction,
           double radius, double thickness)
           
@@ -67,5 +58,5 @@
     double q = sqrt(qx*qx + qy*qy);
     return Iq(q,
-        sld, solvent_sld,
+        sld, sld_solvent, volfraction,
         radius,thickness);
 
Index: sasmodels/models/vesicle.py
===================================================================
--- sasmodels/models/vesicle.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/vesicle.py	(revision 062db5a05f26e70feea0a4fd1ce809f6c457dedf)
@@ -7,5 +7,5 @@
 .. math::
 
-    P(q) = \frac{\text{scale}}{V_\text{shell}} \left[
+    P(q) = \frac{\phi}{V_\text{shell}} \left[
            \frac{3V_{\text{core}}({\rho_{\text{solvent}}
            - \rho_{\text{shell}})j_1(qR_{\text{core}})}}{qR_{\text{core}}}
@@ -15,10 +15,9 @@
 
 
-where scale is a scale factor equivalent to the volume fraction of shell
-material if the data is on an absolute scale, $V_{shell}$ is the volume of the
-shell, $V_{\text{cor}}$ is the volume of the core, $V_{\text{tot}}$ is the
-total volume, $R_{\text{core}}$ is the radius of the core, $R_{\text{tot}}$ is
-the outer radius of the shell, $\rho_{\text{solvent}}$ is the scattering length
-density of the solvent (which is the same as for the core in this case),
+where $\phi$ is the volume fraction of shell material, $V_{shell}$ is the volume
+of the shell, $V_{\text{cor}}$ is the volume of the core, $V_{\text{tot}}$ is
+the total volume, $R_{\text{core}}$ is the radius of the core, $R_{\text{tot}}$
+is the outer radius of the shell, $\rho_{\text{solvent}}$ is the scattering
+length density of the solvent (which is the same as for the core in this case),
 $\rho_{\text{scale}}$ is the scattering length density of the shell, background
 is a flat background level (due for example to incoherent scattering in the
@@ -56,4 +55,10 @@
 A Guinier and G. Fournet, *Small-Angle Scattering of X-Rays*, John Wiley and
 Sons, New York, (1955)
+
+**Author:** NIST IGOR/DANSE **on:** pre 2010
+
+**Last Modified by:** Paul Butler **on:** March 20, 2016
+
+**Last Reviewed by:** Paul Butler **on:** March 20, 2016
 """
 
@@ -70,7 +75,8 @@
         thickness: the shell thickness
         sld: the shell SLD
-        solvent_sld: the solvent (and core) SLD
+        sld_slovent: the solvent (and core) SLD
         background: incoherent background
-        scale : scale factor = shell volume fraction if on absolute scale"""
+        volfraction: shell volume fraction
+        scale : scale factor = 1 if on absolute scale"""
 category = "shape:sphere"
 
@@ -78,6 +84,8 @@
 parameters = [["sld", "1e-6/Ang^2", 0.5, [-inf, inf], "",
                "vesicle shell scattering length density"],
-              ["solvent_sld", "1e-6/Ang^2", 6.36, [-inf, inf], "",
+              ["sld_solvent", "1e-6/Ang^2", 6.36, [-inf, inf], "",
                "solvent scattering length density"],
+              ["volfraction", "", 0.05, [0, 1.0], "",
+               "volume fraction of shell"],
               ["radius", "Ang", 100, [0, inf], "volume",
                "vesicle core radius"],
@@ -114,6 +122,6 @@
 
 # parameters for demo
-demo = dict(scale=1, background=0,
-            sld=0.5, solvent_sld=6.36,
+demo = dict(sld=0.5, sld_solvent=6.36,
+            volfraction=0.05,
             radius=100, thickness=30,
             radius_pd=.2, radius_pd_n=10,
@@ -123,11 +131,12 @@
 # names and the target sasview model name.
 oldname = 'VesicleModel'
-oldpars = dict(sld='shell_sld', solvent_sld='solv_sld')
+oldpars = dict(sld='shell_sld', sld_solvent='solv_sld')
 
 
 # NOTE: test results taken from values returned by SasView 3.1.2, with
 # 0.001 added for a non-zero default background.
-tests = [[{}, 0.0010005303255, 17139.8278799],
-         [{}, 0.200027832249, 0.131387268704],
+tests = [[{}, 0.0005, 859.916526646],
+         [{}, 0.100600200401, 1.77063682331],
+         [{}, 0.5, 0.00355351388906],
          [{}, 'ER', 130.],
          [{}, 'VR', 0.54483386436],
