diff --git a/Doc/library/warnings.rst b/Doc/library/warnings.rst
index 6049f5d..6188195 100644
--- a/Doc/library/warnings.rst
+++ b/Doc/library/warnings.rst
@@ -200,6 +200,14 @@
    was added in Python 2.5.)
 
 
+.. function:: warnpy3k(message[, category[, stacklevel]])
+
+   Issue a warning related to Python 3.x deprecation. Warnings are only shown 
+   when Python is started with the -3 option. Like func:`warn` *message* must
+   be a string and *category* a subclass of :exc:`Warning`. :func:`warnpy3k`
+   is using :exc:`DeprecationWarning` as default warning class.
+
+
 .. function:: showwarning(message, category, filename, lineno[, file])
 
    Write a warning to a file.  The default implementation calls
diff --git a/Lib/new.py b/Lib/new.py
index a3298b6..1a5c11f 100644
--- a/Lib/new.py
+++ b/Lib/new.py
@@ -3,9 +3,9 @@
 This module is no longer required except for backward compatibility.
 Objects of most types can now be created by calling the type object.
 """
-from warnings import warn as _warn
-_warn("The 'new' module is not supported in 3.x, use the 'types' module "
-    "instead.", DeprecationWarning, 2)
+from warnings import warnpy3k as _warnpy3k
+_warnpy3k("The 'new' module is not supported in 3.x, use the 'types' module "
+    "instead.", stacklevel=2)
 
 from types import ClassType as classobj
 from types import FunctionType as function
diff --git a/Lib/warnings.py b/Lib/warnings.py
index b7fac69..970d0ff 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -125,6 +125,16 @@
     # Print message and context
     showwarning(message, category, filename, lineno)
 
+def warnpy3k(message, category=None, stacklevel=1):
+    """Issue a deprecation warning for Python 3.x related changes.
+
+    Warnings are omitted unless Python is started with the -3 option.
+    """
+    if sys.py3kwarning:
+        if category is None:
+            category = DeprecationWarning
+        warn(message, category, stacklevel+1)
+
 def showwarning(message, category, filename, lineno, file=None):
     """Hook to write a warning to a file; replace if you like."""
     if file is None:
diff --git a/Misc/NEWS b/Misc/NEWS
index d0df601..6af34e1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@
 Core and builtins
 -----------------
 
+- Expose the Py_Py3kWarningFlag as sys.py3kwarning.
+
 - Issue #1445: Fix a SystemError when accessing the ``cell_contents`` 
   attribute of an empty cell object.
 
@@ -837,6 +839,8 @@
 Extension Modules
 -----------------
 
+- Added warnpy3k function to the warnings module.
+
 - Marshal.dumps() now expects exact type matches for int, long, float, complex,
   tuple, list, dict, set, and frozenset.  Formerly, it would silently miscode
   subclasses of those types.  Now, it raises a ValueError instead.
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 774a7db..617c38a 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1167,6 +1167,8 @@
 		   	    PyString_FromString(Py_GetExecPrefix()));
 	SET_SYS_FROM_STRING("maxint",
 			    PyInt_FromLong(PyInt_GetMax()));
+	SET_SYS_FROM_STRING("py3kwarning",
+			    PyBool_FromLong(Py_Py3kWarningFlag));
 #ifdef Py_USING_UNICODE
 	SET_SYS_FROM_STRING("maxunicode",
 			    PyInt_FromLong(PyUnicode_GetMax()));
