--- a/src/rrdtool.c
+++ b/src/rrdtool.c
@@ -80,6 +80,7 @@ static const char *config_keys[] =
 	"HeartBeat",
 	"RRARows",
 	"RRATimespan",
+	"RRASingle",
 	"XFF",
 	"WritesPerSecond",
 	"RandomTimeout"
@@ -101,6 +102,8 @@ static rrdcreate_config_t rrdcreate_conf
 	/* timespans = */ NULL,
 	/* timespans_num = */ 0,
 
+	/* rrasingle = */ 0,
+
 	/* consolidation_functions = */ NULL,
 	/* consolidation_functions_num = */ 0
 };
@@ -976,6 +979,14 @@ static int rrd_config (const char *key, 
 
 		free (value_copy);
 	}
+	else if (strcasecmp ("RRASingle", key) == 0)
+	{
+		if (IS_TRUE (value))
+		{
+			rrdcreate_config.rrasingle = 1;
+			NOTICE ("rrdtool plugin: RRASingle = true: creating only AVERAGE RRAs");
+		}
+	}
 	else if (strcasecmp ("XFF", key) == 0)
 	{
 		double tmp = atof (value);
--- a/src/utils_rrdcreate.c
+++ b/src/utils_rrdcreate.c
@@ -122,6 +122,9 @@ static int rra_get (char ***ret, const v
     rts_num = rra_timespans_num;
   }
 
+  if (cfg->rrasingle)
+    rra_types_num = 1;
+
   rra_max = rts_num * rra_types_num;
 
   if ((rra_def = (char **) malloc ((rra_max + 1) * sizeof (char *))) == NULL)
--- a/src/utils_rrdcreate.h
+++ b/src/utils_rrdcreate.h
@@ -36,6 +36,8 @@ struct rrdcreate_config_s
   int *timespans;
   size_t timespans_num;
 
+  int rrasingle;
+
   char **consolidation_functions;
   size_t consolidation_functions_num;
 };