diff --git a/src/ui/atd/ATDCountermeasure.java b/src/ui/atd/ATDCountermeasure.java
index 30625f1e8cdd347b24894036b5c4aaeed57274cf..9b854d0c2bc2b1ba0117b15a12e7a6c75d1c5e99 100755
--- a/src/ui/atd/ATDCountermeasure.java
+++ b/src/ui/atd/ATDCountermeasure.java
@@ -67,7 +67,7 @@ public class ATDCountermeasure extends TGCScalableWithInternalComponent implemen
     protected String description = "";
     private String stereotype = "countermeasure";
 
-    private static int decPar = 20;
+    private static double percentageDecPar = 0.15;
     
     private static int maxFontSize = 14;
     private static int minFontSize = 4;
@@ -86,15 +86,15 @@ public class ATDCountermeasure extends TGCScalableWithInternalComponent implemen
         connectingPoint = new TGConnectingPoint[12];
 
         connectingPoint[0] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.5, 0.0);
-        connectingPoint[1] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.0, 0.5);
-        connectingPoint[2] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 1.0, 0.5);
+        connectingPoint[1] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.0 - percentageDecPar/2, 0.5);
+        connectingPoint[2] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 1.0 + percentageDecPar/2 , 0.5);
         connectingPoint[3] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.5, 1.0);
         connectingPoint[4] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.25, 0.0);
         connectingPoint[5] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.75, 0.0);
-        connectingPoint[6] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.0, 0.25);
-        connectingPoint[7] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 1.0, 0.25);
-        connectingPoint[8] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.0, 0.75);
-        connectingPoint[9] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 1.0, 0.75);
+        connectingPoint[6] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.0 - percentageDecPar/4, 0.25);
+        connectingPoint[7] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 1.0 + percentageDecPar * 0.75, 0.25);
+        connectingPoint[8] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.0 - percentageDecPar * 0.75, 0.75);
+        connectingPoint[9] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 1.0 + percentageDecPar * 0.25, 0.75);
         connectingPoint[10] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.25, 1.0);
         connectingPoint[11] = new ATDCountermeasureConnectingPoint(this, 0, 0, true, true, 0.75, 1.0);
         //addTGConnectingPointsComment();
@@ -141,14 +141,13 @@ public class ATDCountermeasure extends TGCScalableWithInternalComponent implemen
         }
         // Core of the countermeasure
         Color c = g.getColor();
-	Polygon p = new Polygon();
-        g.draw3DRect(x, y, width, height, true);
+	Polygon p = getMyPolygon();
 	g.setColor(ColorManager.ATD_COUNTERMEASURE);
+	g.fillPolygon(p);
+	g.setColor(c);
+        g.drawPolygon(p);
 	
 
-        g.fill3DRect(x+1, y+1, width-1, height-1, true);
-        g.setColor(c);
-
         // Strings
         int w;
 
@@ -204,6 +203,15 @@ public class ATDCountermeasure extends TGCScalableWithInternalComponent implemen
 
     }
 
+    private Polygon getMyPolygon() {
+	Polygon p = new Polygon();
+	p.addPoint(x, y);
+	p.addPoint((int)(x+width+(percentageDecPar*width)), y);
+	p.addPoint(x+width, y+height);
+	p.addPoint((int)(x-(percentageDecPar*width)), y+height);
+	return p;
+    }
+
     public void setValue(String val, Graphics g) {
         oldValue = value;
         String ster;
@@ -285,10 +293,10 @@ public class ATDCountermeasure extends TGCScalableWithInternalComponent implemen
     }
 
     public TGComponent isOnOnlyMe(int x1, int y1) {
-
-        if (GraphicLib.isInRectangle(x1, y1, x, y, width, height)) {
-            return this;
-        }
+	Polygon p = getMyPolygon();
+	if (p.contains(x1, y1)) {
+	    return this;
+	}
         return null;
     }
 
diff --git a/src/ui/images/atdcountermeasure.gif b/src/ui/images/atdcountermeasure.gif
index 716956b379abb736f2601f56ec9e36be322b7f90..12b4dbe665772fd9b5cf41d6a0c445d368d4c04c 100644
Binary files a/src/ui/images/atdcountermeasure.gif and b/src/ui/images/atdcountermeasure.gif differ