diff --git a/megamek/src/megamek/client/ui/WrapLayout.java b/megamek/src/megamek/client/ui/WrapLayout.java
index 10515ff2db..77f2801ad6 100644
--- a/megamek/src/megamek/client/ui/WrapLayout.java
+++ b/megamek/src/megamek/client/ui/WrapLayout.java
@@ -209,23 +209,28 @@ public static String wordWrap(String input) {
* @return The string with line breaks inserted.
*/
public static String wordWrap(String input, int maximumCharacters) {
- StringTokenizer token = new StringTokenizer(input, " ");
+ String[] lines = input.split("
");
+
StringBuilder output = new StringBuilder(input.length());
output.append("");
- int lineLen = 0;
+ // Process each line
+ for (String line : lines) {
+ StringTokenizer token = new StringTokenizer(line, " ");
- while (token.hasMoreTokens()) {
- String word = token.nextToken();
+ int lineLen = 0;
+ while (token.hasMoreTokens()) {
+ String word = token.nextToken();
- if (lineLen + word.length() > maximumCharacters) {
- output.append("
");
- lineLen = 0;
+ if (lineLen + word.length() > maximumCharacters) {
+ output.append("
");
+ lineLen = 0;
+ }
+ output.append(word).append(' ');
+ lineLen += word.length();
}
- output.append(word).append(' ');
- lineLen += word.length();
+ output.append("
");
}
-
output.append("");
return output.toString();
}