diff --git a/meldata.cc b/meldata.cc
index 27956f658a79a89f786486afce48d79360ac4b5e..c6f091162dd8e0dc6b34b68e82513ee81d591f74 100644
--- a/meldata.cc
+++ b/meldata.cc
@@ -382,6 +382,9 @@ namespace Melodic{
 
     //seed the random number generator
     double tmptime = time(NULL);
+    if ( opts.seed.value() != -1 ) {
+      tmptime = opts.seed.value(); 
+    }
     srand((unsigned int) tmptime);
 
 	if(opts.paradigmfname.value().length()>0){
diff --git a/meloptions.h b/meloptions.h
index 5ced18dbc92b6995e280140c786a7aa07529a671..60d720183df76b03acf02e2855622e2b939f8b9d 100644
--- a/meloptions.h
+++ b/meloptions.h
@@ -116,6 +116,7 @@ class MelodicOptions {
 
   	Option<int>   dummy;
   	Option<int>   repeats;
+	Option<int>   seed;
   	Option<float> nlconst1;
   	Option<float> nlconst2;
   	Option<float> smooth_probmap;
@@ -351,6 +352,9 @@ class MelodicOptions {
    repeats(string("--repeats"), 1,
 	   string("number of repeats (multistart)"), 
 	   false, requires_argument, false),
+   seed(string("--seed"), -1,
+	   string("integer seed for melodic"), 
+	   false, requires_argument, false),
    nlconst1(string("--nl1,--nlconst1"),  1.0,
 	   string("nonlinear constant 1"), 
 	   false, requires_argument, false),
@@ -449,6 +453,7 @@ class MelodicOptions {
 	    options.add(axials_str); 
 	    options.add(dummy);
 	    options.add(repeats);
+	    options.add(seed);
 	    options.add(nlconst1);
 	    options.add(nlconst2);
 	    options.add(smooth_probmap);