diff --git a/comfy/controlnet.py b/comfy/controlnet.py
index 09868158..433381df 100644
--- a/comfy/controlnet.py
+++ b/comfy/controlnet.py
@@ -33,7 +33,7 @@ class ControlBase:
         self.cond_hint_original = None
         self.cond_hint = None
         self.strength = 1.0
-        self.timestep_percent_range = (1.0, 0.0)
+        self.timestep_percent_range = (0.0, 1.0)
         self.timestep_range = None
 
         if device is None:
@@ -42,7 +42,7 @@ class ControlBase:
         self.previous_controlnet = None
         self.global_average_pooling = False
 
-    def set_cond_hint(self, cond_hint, strength=1.0, timestep_percent_range=(1.0, 0.0)):
+    def set_cond_hint(self, cond_hint, strength=1.0, timestep_percent_range=(0.0, 1.0)):
         self.cond_hint_original = cond_hint
         self.strength = strength
         self.timestep_percent_range = timestep_percent_range
diff --git a/comfy/model_sampling.py b/comfy/model_sampling.py
index a2935d47..d5b1642e 100644
--- a/comfy/model_sampling.py
+++ b/comfy/model_sampling.py
@@ -76,5 +76,10 @@ class ModelSamplingDiscrete(torch.nn.Module):
         return log_sigma.exp()
 
     def percent_to_sigma(self, percent):
+        if percent <= 0.0:
+            return torch.tensor(999999999.9)
+        if percent >= 1.0:
+            return torch.tensor(0.0)
+        percent = 1.0 - percent
         return self.sigma(torch.tensor(percent * 999.0))
 
diff --git a/comfy/samplers.py b/comfy/samplers.py
index d8037d8e..1d012a51 100644
--- a/comfy/samplers.py
+++ b/comfy/samplers.py
@@ -220,6 +220,8 @@ def sampling_function(model, x, timestep, uncond, cond, cond_scale, model_option
                         transformer_options["patches"] = patches
 
                 transformer_options["cond_or_uncond"] = cond_or_uncond[:]
+                transformer_options["sigmas"] = timestep
+
                 c['transformer_options'] = transformer_options
 
                 if 'model_function_wrapper' in model_options:
diff --git a/comfy_extras/nodes_model_advanced.py b/comfy_extras/nodes_model_advanced.py
index 399123ea..c8c4b4a1 100644
--- a/comfy_extras/nodes_model_advanced.py
+++ b/comfy_extras/nodes_model_advanced.py
@@ -66,6 +66,11 @@ class ModelSamplingDiscreteLCM(torch.nn.Module):
         return log_sigma.exp()
 
     def percent_to_sigma(self, percent):
+        if percent <= 0.0:
+            return torch.tensor(999999999.9)
+        if percent >= 1.0:
+            return torch.tensor(0.0)
+        percent = 1.0 - percent
         return self.sigma(torch.tensor(percent * 999.0))
 
 
diff --git a/nodes.py b/nodes.py
index 2bbfd8fe..e8cfb5e6 100644
--- a/nodes.py
+++ b/nodes.py
@@ -248,8 +248,8 @@ class ConditioningSetTimestepRange:
         c = []
         for t in conditioning:
             d = t[1].copy()
-            d['start_percent'] = 1.0 - start
-            d['end_percent'] = 1.0 - end
+            d['start_percent'] = start
+            d['end_percent'] = end
             n = [t[0], d]
             c.append(n)
         return (c, )
@@ -685,7 +685,7 @@ class ControlNetApplyAdvanced:
                 if prev_cnet in cnets:
                     c_net = cnets[prev_cnet]
                 else:
-                    c_net = control_net.copy().set_cond_hint(control_hint, strength, (1.0 - start_percent, 1.0 - end_percent))
+                    c_net = control_net.copy().set_cond_hint(control_hint, strength, (start_percent, end_percent))
                     c_net.set_previous_controlnet(prev_cnet)
                     cnets[prev_cnet] = c_net