diff --git a/wetb/wind/shear.py b/wetb/wind/shear.py
index dd6122470e3a5a460660b7673371fb9042a147dd..dd3281b0ff5139253d76487a7be6893ad538e6f2 100644
--- a/wetb/wind/shear.py
+++ b/wetb/wind/shear.py
@@ -99,7 +99,7 @@ def fit_power_shear_ref(z_u_lst, z_ref, plt=None):
     """
     def shear_error(x, z_u_lst, z_ref):
         alpha, u_ref = x
-        return np.sum([(u - u_ref * (z / z_ref) ** alpha) ** 2 for z, u in z_u_lst])
+        return np.nansum([(u - u_ref * (z / z_ref) ** alpha) ** 2 for z, u in z_u_lst])
     z_u_lst = [(z, np.mean(u)) for z, u in z_u_lst]
     alpha, u_ref = fmin(shear_error, (.1, 10), (z_u_lst, z_ref), disp=False)
     if plt:
@@ -107,6 +107,9 @@ def fit_power_shear_ref(z_u_lst, z_ref, plt=None):
         plt.plot(u, z, '.')
         z = np.linspace(min(z), max(z), 100)
         plt.plot(power_shear(alpha, z_ref, u_ref)(z), z)
+        plt.margins(.1)
+    if alpha==.1 and u_ref==10: # Initial conditions
+        return np.nan, np.nan
     return alpha, u_ref
 
 
diff --git a/wetb/wind/tests/test_Shear.py b/wetb/wind/tests/test_Shear.py
index 38f1d0db03c0148b86911304d103f607aa43108e..44a369a2cbac3cb665138272089a69f242935d7e 100644
--- a/wetb/wind/tests/test_Shear.py
+++ b/wetb/wind/tests/test_Shear.py
@@ -49,6 +49,24 @@ class TestShear(unittest.TestCase):
         14: WSP gl. coo.,Vz 21
         """
 
+    def test_power_shear_fit(self):
+        z = [30,50,70]
+        a,u_ref = .3,10
+        u = power_shear(a,50,u_ref)(z)
+        np.testing.assert_array_almost_equal(fit_power_shear_ref(zip(z,u), 50), [a,u_ref],3)
+        if 0:
+            import matplotlib.pyplot as plt
+            fit_power_shear_ref(zip(z,u), 50, plt)
+            plt.show()
+        
+    def test_power_shear_fit_nan(self):
+        z = [30,50,70]
+        a,u_ref = .3,10
+        u = power_shear(a,50,u_ref)(z)
+        u[2] = np.nan
+        np.testing.assert_array_almost_equal(fit_power_shear_ref(zip(z,u), 50), [a,u_ref],3)
+        u[:] = np.nan
+        np.testing.assert_array_almost_equal(fit_power_shear_ref(zip(z,u), 50), [np.nan, np.nan],3)
 
     def test_power_shear(self):
         if all: