diff --git a/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/status/MultiStatus.java b/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/status/MultiStatus.java
index 8f452e9..3706e88 100644
--- a/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/status/MultiStatus.java
+++ b/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/status/MultiStatus.java
@@ -26,6 +26,17 @@
 public class MultiStatus extends AbstractStatus {
 	
 	
+	private static byte computeSeverity(final ImList<Status> children) {
+		byte severity= OK;
+		for (final Status child : children) {
+			if (child.getSeverity() > severity) {
+				severity= child.getSeverity();
+			}
+		}
+		return severity;
+	}
+	
+	
 	private byte severity;
 	
 	private ImList<Status> children;
@@ -35,18 +46,21 @@
 			final String message, final @Nullable Throwable exception,
 			final ImList<Status> children) {
 		super(bundleId, code, message, exception);
+		this.severity= computeSeverity(children);
 		this.children= children;
 	}
 	
 	public MultiStatus(final String bundleId, final int code,
 			final String message, final @Nullable Throwable exception) {
 		super(bundleId, code, message, exception);
+		this.severity= OK;
 		this.children= ImCollections.newList();
 	}
 	
 	public MultiStatus(final String bundleId, final int code,
 			final String message) {
 		super(bundleId, code, message, null);
+		this.severity= OK;
 		this.children= ImCollections.newList();
 	}
 	
@@ -54,17 +68,20 @@
 			final String message, final @Nullable Throwable exception,
 			final ImList<Status> children) {
 		super(bundleId, 0, message, exception);
+		this.severity= computeSeverity(children);
 		this.children= children;
 	}
 	
 	public MultiStatus(final String bundleId,
 			final String message, final @Nullable Throwable exception) {
 		super(bundleId, 0, message, exception);
+		this.severity= OK;
 		this.children= ImCollections.newList();
 	}
 	
 	public MultiStatus(final String bundleId, final String message) {
 		super(bundleId, 0, message, null);
+		this.severity= OK;
 		this.children= ImCollections.newList();
 	}
 	
