diff --git a/Treemmer.py b/Treemmer.py
index e7355eb48aa6ee69c6a9b9c6e417aaccdaceff10..123b3ee0becff8d911bcb03ffc0a9ab7a6c6c332 100644
--- a/Treemmer.py
+++ b/Treemmer.py
@@ -108,6 +108,8 @@ def find_leaf_to_prune(dlist):					#parse the list with all neighbor pairs and d
 			d_min.update({k:v})
 	
 	pair= str(random.choice(list(d_min)))
+	if arguments.random:
+		pair= str(random.choice(list(dlist)))
 	pair=pair.split(",")
 	leaf1 = t.search_nodes(name=pair[0])[0]
 	leaf2 = t.search_nodes(name=pair[1])[0]
@@ -232,6 +234,7 @@ parser.add_argument('-X','--stop_at_X_leaves', metavar='0-n_leaves', default='0'
 parser.add_argument('-RTL','--stop_at_RTL', metavar='0-1', default='0', help='stop pruning when the relative tree length falls below RTL', type =restricted_float,nargs='?')
 parser.add_argument('-r','--resolution', metavar='INT', default=1,help='number of leaves to prune at each iteration (default: 1)',type =int, nargs='?')
 parser.add_argument('-p','--solve_polytomies',help='resolve polytomies at random (default: FALSE)',action='store_true',default =False)
+parser.add_argument('-pr','--random',help='prune random leaves (default: FALSE)',action='store_true',default =False)
 parser.add_argument('-lp','--leaves_pair', metavar='0,1,2', default=2,help='After the pair of leaves with the smallest distance is dentified Treemmer prunes: 0: the longest leaf\n1: the shortest leaf\n2: random choice (default)',type =int, nargs='?')
 parser.add_argument('-np','--no_plot',help='do not load matplotlib and plot (default: FALSE)',action='store_true',default =False)
 parser.add_argument('-fp','--fine_plot',help='when --resolution > 1, plot RTL vs n leaves every time a leaf is pruned  (default: FALSE => plot every X leaves (X = -r))',action='store_true',default =False)
@@ -289,7 +292,7 @@ while (len(t) > 3):
 		print "\niter		" + str(counter)
 	if arguments.verbose > 1:
 		print "calculationg distances"	
-
+		
 	DLIST = Parallel(n_jobs=arguments.cpu)(delayed(parallel_loop)(i) for i in range(0,arguments.cpu))
 	result = {}