diff --git a/ChangeLog b/ChangeLog
index 435dd87a..4b05be01 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15098,3 +15098,6 @@
   	saving and updating logs.  (from albanpeigner pull request #42)
 	* Created modification pointer in voicetracker for better performance
 	over WAN networks
+2016-04-26 Brian McGlynn <brian.mcglynn@geneseemedia.net>
+	* Updated Cart Scheduler to favor weighted playback for cuts expiring
+	first following the number of plays
diff --git a/lib/rdcart.cpp b/lib/rdcart.cpp
index 2469bf09..2ff025e6 100644
--- a/lib/rdcart.cpp
+++ b/lib/rdcart.cpp
@@ -129,7 +129,8 @@ bool RDCart::selectCut(QString *cut,const QTime &time) const
       QString().sprintf("(CART_NUMBER=%u)&&(EVERGREEN=\"N\")&&",cart_number)+
       "(LENGTH>0)";
     if(useWeighting()) {
-      sql+=" order by LOCAL_COUNTER";
+      sql+=" order by LOCAL_COUNTER ASC, ISNULL(END_DATETIME), END_DATETIME ASC, \
+             LAST_PLAY_DATETIME ASC";
     }
     else {
       sql+=" order by LAST_PLAY_DATETIME desc";