From 9582da99c0db5e46624d23705d8cf7bb9d8df5a6 Mon Sep 17 00:00:00 2001
From: rubidium <rubidium@openttd.org>
Date: Tue, 22 Jun 2010 08:01:38 +0000
Subject: [PATCH] (svn r20009) -Fix [FS#3893]: sign sorting was unstable

---
 src/signs_gui.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp
index 5597a12021..237af085ed 100644
--- a/src/signs_gui.cpp
+++ b/src/signs_gui.cpp
@@ -65,7 +65,9 @@ struct SignList {
 			GetString(buf_cache, STR_SIGN_NAME, lastof(buf_cache));
 		}
 
-		return strcasecmp(buf, buf_cache);
+		int r = strcasecmp(buf, buf_cache);
+
+		return r != 0 ? r : ((*a)->index - (*b)->index);
 	}
 
 	void SortSignsList()