Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 2042)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/GenericRelationEditor.java	(revision 2043)
@@ -321,16 +321,4 @@
 
         final JScrollPane scrollPane = new JScrollPane(memberTable);
-        // this adapters ensures that the width of the tag table columns is adjusted
-        // to the width of the scroll pane viewport. Also tried to overwrite
-        // getPreferredViewportSize() in JTable, but did not work.
-        //
-        scrollPane.addComponentListener(new ComponentAdapter() {
-            @Override
-            public void componentResized(ComponentEvent e) {
-                super.componentResized(e);
-                Dimension d = scrollPane.getViewport().getExtentSize();
-                memberTable.adjustColumnWidth(d.width);
-            }
-        });
 
         GridBagConstraints gc = new GridBagConstraints();
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java	(revision 2042)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java	(revision 2043)
@@ -4,4 +4,6 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.awt.Container;
+import java.awt.Dimension;
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
@@ -13,4 +15,5 @@
 import javax.swing.JPopupMenu;
 import javax.swing.JTable;
+import javax.swing.JViewport;
 import javax.swing.KeyStroke;
 import javax.swing.ListSelectionModel;
@@ -72,25 +75,16 @@
     }
 
-    /**
-     * adjusts the width of the columns for the tag name and the tag value to the width of the
-     * scroll panes viewport.
-     *
-     * Note: {@see #getPreferredScrollableViewportSize()} did not work as expected
-     *
-     * @param scrollPaneWidth the width of the scroll panes viewport
-     */
-    public void adjustColumnWidth(int scrollPaneWidth) {
-        TableColumnModel tcm = getColumnModel();
-        int width = scrollPaneWidth;
-        width = width / 3;
-        if (width > 0) {
-            tcm.getColumn(0).setMinWidth(width);
-            tcm.getColumn(0).setMaxWidth(width);
-            tcm.getColumn(1).setMinWidth(width);
-            tcm.getColumn(1).setMaxWidth(width);
-            tcm.getColumn(2).setMinWidth(width);
-            tcm.getColumn(2).setMaxWidth(width);
-
-        }
+    @Override
+    public Dimension getPreferredSize(){
+        Container c = getParent();
+        while(c != null && ! (c instanceof JViewport)) {
+            c = c.getParent();
+        }
+        if (c != null) {
+            Dimension d = super.getPreferredSize();
+            d.width = c.getSize().width;
+            return d;
+        }
+        return super.getPreferredSize();
     }
 
