Index: gtk2_ardour/editor_ops.cc
===================================================================
--- gtk2_ardour/editor_ops.cc	(revision 1932)
+++ gtk2_ardour/editor_ops.cc	(working copy)
@@ -3005,13 +3005,17 @@
 void
 Editor::duplicate_some_regions (RegionSelection& regions, float times)
 {
+	
 	boost::shared_ptr<Playlist> playlist; 
 	RegionSelection sel = regions; // clear (below) will clear the argument list
-		
+
+	nframes_t start_frame = regions.start();
+	nframes_t end_frame = regions.end_frame();
+
 	begin_reversible_command (_("duplicate region"));
-
+	
 	selection->clear_regions ();
-
+	
 	for (RegionSelection::iterator i = sel.begin(); i != sel.end(); ++i) {
 
 		boost::shared_ptr<Region> r ((*i)->region());
@@ -3022,9 +3026,10 @@
 		
  		playlist = (*i)->region()->playlist();
                 XMLNode &before = playlist->get_state();
-		playlist->duplicate (r, r->last_frame(), times);
+		
+		playlist->duplicate (r, end_frame + (r->first_frame() - start_frame) + 1, times);
 		session->add_command(new MementoCommand<Playlist>(*playlist, &before, &playlist->get_state()));
-
+		
 		c.disconnect ();
 
 		if (latest_regionview) {
@@ -3043,6 +3048,7 @@
 		return;
 	}
 
+
 	boost::shared_ptr<Playlist> playlist; 
 	vector<boost::shared_ptr<AudioRegion> > new_regions;
 	vector<boost::shared_ptr<AudioRegion> >::iterator ri;
