diff --git a/CHANGES b/CHANGES
index 4dfdc7975..a59df3605 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
 CHANGES IN FLTK 1.3.0
 
+	- Fixed Fl_Tabs selection border drawing, if tabs are at the bottom
+	  of the widget (STR #2480)
 	- Much faster fl_read_image() for Windows (STR #2387).
 	- Added general Options dialog (STR #2471)
 	- Fixed Compiling with mingw-w64 (STR #2308).
diff --git a/CREDITS b/CREDITS
index 0dee8118a..8129c98bc 100644
--- a/CREDITS
+++ b/CREDITS
@@ -37,6 +37,7 @@ OTHER CONTRIBUTORS
 	Paul Chambers
 	Stephen Davies
 	Yuri D'Elia
+	Domingo Alvarez Duarte
 	Greg Ercolano
 	Yuri Fedorchenko
 	George Garvey
diff --git a/src/Fl_Tabs.cxx b/src/Fl_Tabs.cxx
index c62b2478e..6f1c3674b 100644
--- a/src/Fl_Tabs.cxx
+++ b/src/Fl_Tabs.cxx
@@ -40,6 +40,7 @@
 
 #define BORDER 2
 #define EXTRASPACE 10
+#define SELECTION_BORDER 5
 
 // return the left edges of each tab (plus a fake left edge for a tab
 // past the right-hand one).  These position are actually of the left
@@ -311,14 +312,11 @@ void Fl_Tabs::draw() {
     draw_box(box(), x(), y()+(H>=0?H:0), w(), h()-(H>=0?H:-H), c);
 
     if (selection_color() != c) {
-      // Draw the top 5 lines of the tab pane in the selection color so
-      // that the user knows which tab is selected...
-      if (H >= 0) fl_push_clip(x(), y() + H, w(), 5);
-      else fl_push_clip(x(), y() + h() - H - 4, w(), 5);
-
-      draw_box(box(), x(), y()+(H>=0?H:0), w(), h()-(H>=0?H:-H),
-               selection_color());
-
+      // Draw the top or bottom SELECTION_BORDER lines of the tab pane in the
+      // selection color so that the user knows which tab is selected...
+      int clip_y = (H >= 0) ? y() + H : y() + h() + H - SELECTION_BORDER;
+      fl_push_clip(x(), clip_y, w(), SELECTION_BORDER);
+      draw_box(box(), x(), clip_y, w(), SELECTION_BORDER, selection_color());
       fl_pop_clip();
     }
     if (v) draw_child(*v);