diff --git a/scripts/modules-matrix.py b/scripts/modules-matrix.py
index 2b4b9f6981c518db318e4ba68ef82bb0332b2215..eab86f22b7953ab637699f35c7b441bb7038c0d6 100755
--- a/scripts/modules-matrix.py
+++ b/scripts/modules-matrix.py
@@ -2,6 +2,7 @@
 # -*- coding: utf-8 -*-
 import csv
 import collections
+from distutils.version import LooseVersion
 
 def get_data(filename):
     '''function to read the data form the input csv file to use in the analysis'''
@@ -65,11 +66,12 @@ for m,i in sorted(counts.items()):
 
 for m in sorted(software.items(), key=lambda i: i[0].lower()):
   software = m[0]
-  versions = ''
-  clusters = ''
-  #print '</br>'.join(m[1].keys())
-  #print '</br>'.join(m[1].values())
-  print "| %s | %s | %s |" % (software, '</br>'.join(m[1].keys()), '</br>'.join(m[1].values()))
+  versions = []
+  clusters = []
+  for key in sorted(m[1], key=LooseVersion ):
+    versions.append(key)
+    clusters.append(m[1][key])
+  print "| %s | %s | %s |" % (software, '</br>'.join(versions), '</br>'.join(clusters))
 
 print
 print '---8<--- "modules_matrix_search.md"'