diff --git a/scripts/Python/interface/SBFrame.i b/scripts/Python/interface/SBFrame.i
index 40d6572..28526ab 100644
--- a/scripts/Python/interface/SBFrame.i
+++ b/scripts/Python/interface/SBFrame.i
@@ -215,25 +215,6 @@
     lldb::SBValue
     FindValue (const char *name, ValueType value_type, lldb::DynamicValueType use_dynamic);
 
-    %feature("docstring", "
-    /// Find and watch a variable using the frame as the scope.
-    /// It returns an SBValue, similar to FindValue() method, if find-and-watch
-    /// operation succeeds.  Otherwise, an invalid SBValue is returned.
-    /// You can use LLDB_WATCH_TYPE_READ | LLDB_WATCH_TYPE_WRITE for 'rw' watch.
-    ") WatchValue;
-    lldb::SBValue
-    WatchValue (const char *name, ValueType value_type, uint32_t watch_type);
-
-    %feature("docstring", "
-    /// Find and watch the location pointed to by a variable using the frame as
-    /// the scope.
-    /// It returns an SBValue, similar to FindValue() method, if find-and-watch
-    /// operation succeeds.  Otherwise, an invalid SBValue is returned.
-    /// You can use LLDB_WATCH_TYPE_READ | LLDB_WATCH_TYPE_WRITE for 'rw' watch.
-    ") WatchLocation;
-    lldb::SBValue
-    WatchLocation (const char *name, ValueType value_type, uint32_t watch_type, size_t size);
-
     bool
     GetDescription (lldb::SBStream &description);
 
diff --git a/scripts/Python/interface/SBTarget.i b/scripts/Python/interface/SBTarget.i
index 9c628a6..d462ed9 100644
--- a/scripts/Python/interface/SBTarget.i
+++ b/scripts/Python/interface/SBTarget.i
@@ -12,8 +12,7 @@
 %feature("docstring",
 "Represents the target program running under the debugger.
 
-SBTarget supports module, breakpoint, and watchpoint_location iterations. For
-example,
+SBTarget supports module, breakpoint, and watchpoint iterations. For example,
 
     for m in target.module_iter():
         print m
@@ -39,14 +38,14 @@
 
 and,
 
-    for wp_loc in target.watchpoint_location_iter():
+    for wp_loc in target.watchpoint_iter():
         print wp_loc
 
 produces:
 
-WatchpointLocation 1: addr = 0x1034ca048 size = 4 state = enabled type = rw
+Watchpoint 1: addr = 0x1034ca048 size = 4 state = enabled type = rw
     declare @ '/Volumes/data/lldb/svn/trunk/test/python_api/watchpoint/main.c:12'
-    hw_index = 0  hit_count = 2     ignore_count = 0     callback =      0x0 baton =      0x0"
+    hw_index = 0  hit_count = 2     ignore_count = 0"
 ) SBTarget;
 class SBTarget
 {
diff --git a/scripts/Python/interface/SBValue.i b/scripts/Python/interface/SBValue.i
index 439e0ab..39a92c6 100644
--- a/scripts/Python/interface/SBValue.i
+++ b/scripts/Python/interface/SBValue.i
@@ -278,9 +278,17 @@
     lldb::SBFrame
     GetFrame();
     
+    %feature("docstring", "
+    /// Find and watch a variable.
+    /// It returns an SBWatchpoint, which may be invalid.
+    ") Watch;
     lldb::SBWatchpoint
     Watch (bool resolve_location, bool read, bool write);
 
+    %feature("docstring", "
+    /// Find and watch the location pointed to by a variable.
+    /// It returns an SBWatchpoint, which may be invalid.
+    ") WatchPointee;
     lldb::SBWatchpoint
     WatchPointee (bool resolve_location, bool read, bool write);
 
diff --git a/scripts/Python/interface/SBWatchpoint.i b/scripts/Python/interface/SBWatchpoint.i
index 5ddba45..58a15e7 100644
--- a/scripts/Python/interface/SBWatchpoint.i
+++ b/scripts/Python/interface/SBWatchpoint.i
@@ -10,14 +10,13 @@
 namespace lldb {
 
 %feature("docstring",
-"Represents an instance of watchpoint location for a specific target program.
+"Represents an instance of watchpoint for a specific target program.
 
-A watchpoint location is determined by the address and the byte size that
-resulted in this particular instantiation.  Each watchpoint location has its
-settable options.
+A watchpoint is determined by the address and the byte size that resulted in
+this particular instantiation.  Each watchpoint has its settable options.
 
-See also SBTarget.watchpoint_location_iter() for for example usage of iterating
-through the watchpoint locations of the target."
+See also SBTarget.watchpoint_iter() for for example usage of iterating through
+the watchpoints of the target."
 ) SBWatchpoint;
 class SBWatchpoint
 {
