diff --git a/gstlal-ugly/python/metric.py b/gstlal-ugly/python/metric.py
index 10c251d6c64ce499732c18a54a70c7e6ba6485b8..ee65d276e9257307a08897390af3ee4684a7b2ef 100644
--- a/gstlal-ugly/python/metric.py
+++ b/gstlal-ugly/python/metric.py
@@ -157,7 +157,7 @@ class Metric(object):
 		self.delta_t = {}
 		self.t_factor = {}
 		self.neg_t_factor = {}
-		delta_t = 1e-5
+		delta_t = numpy.finfo(numpy.float32).eps * 2
 		t_factor = numpy.exp(-2j * numpy.pi * (numpy.arange(self.working_length) * self.df - self.fhigh) * delta_t)
 		neg_t_factor = numpy.exp(-2j * numpy.pi * (numpy.arange(self.working_length) * self.df - self.fhigh) * (-delta_t))
 		for t in numpy.array([1.,2.,4.,8.,16.,32.,64.,128.,256.,512.,1024]):
diff --git a/gstlal-ugly/python/tree.py b/gstlal-ugly/python/tree.py
index 5a793feeeaec37d1d5356dca6609bd141a8c4c45..4ae3122fd88d269dd685ad8571cffe0b80663a3a 100644
--- a/gstlal-ugly/python/tree.py
+++ b/gstlal-ugly/python/tree.py
@@ -109,9 +109,11 @@ class HyperCube(object):
 		self.deltas = numpy.array([c[1] - c[0] for c in boundaries])
 		self.metric = metric
 		# FIXME don't assume m1 m2 and the spin coords are the coordinates we have here.
-		deltas = 5e-7 * numpy.ones(len(self.center))
-		#deltas[0:2] *= self.center[0:2]**.5
-		deltas[2:] = 1.3e-4
+		deltas = numpy.finfo(numpy.float32).eps * 2 * numpy.ones(len(self.center))
+		#deltas = 5e-7 * numpy.ones(len(self.center))
+		deltas[0:2] *= self.center[0:2]
+		#deltas[2:] = 1.3e-4
+		#deltas[2:] = 1.0e-5
 
 		if self.metric is not None and metric_tensor is None:
 			try:
@@ -236,7 +238,7 @@ class Node(object):
 		size = self.cube.num_tmps_per_side(mismatch)
 		splitdim = numpy.argmax(size)
 		aspect_ratios = size / min(size)
-		aspect_factor = max(1., numpy.product(aspect_ratios[aspect_ratios>1.5]) / 1.5**len(aspect_ratios[aspect_ratios>1.5]))
+		aspect_factor = max(1., numpy.product(aspect_ratios[aspect_ratios>2.0]) / 2.0**len(aspect_ratios[aspect_ratios>2.0]))
 		if numpy.isnan(aspect_factor):
 			aspect_factor = 1.0
 		aspect_ratio = max(aspect_ratios)