diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
index 5005551..28c7d94 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
@@ -5353,12 +5353,11 @@
 	if (handle == 0) return 0;
 	if (hwnd != handle) {
 		switch (msg) {
-			/* This code is intentionally commented */
-//			case OS.WM_CONTEXTMENU: {
-//				LRESULT result = wmContextMenu (hwnd, wParam, lParam);
-//				if (result != null) return result.value;
-//				break;
-//			}
+			case OS.WM_CONTEXTMENU: {
+				LRESULT result = wmContextMenu (hwnd, wParam, lParam);
+				if (result != null) return result.value;
+				break;
+			}
 			case OS.WM_CAPTURECHANGED: {
 				/*
 				* Bug in Windows.  When the capture changes during a
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
index 6076d35..3cda2fb 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
@@ -5568,12 +5568,11 @@
 int /*long*/ windowProc (int /*long*/ hwnd, int msg, int /*long*/ wParam, int /*long*/ lParam) {
 	if (hwndHeader != 0 && hwnd == hwndHeader) {
 		switch (msg) {
-			/* This code is intentionally commented */
-//			case OS.WM_CONTEXTMENU: {
-//				LRESULT result = wmContextMenu (hwnd, wParam, lParam);
-//				if (result != null) return result.value;
-//				break;
-//			}
+			case OS.WM_CONTEXTMENU: {
+				LRESULT result = wmContextMenu (hwnd, wParam, lParam);
+				if (result != null) return result.value;
+				break;
+			}
 			case OS.WM_CAPTURECHANGED: {
 				/*
 				* Bug in Windows.  When the capture changes during a
