diff --git a/IPython/iplib.py b/IPython/iplib.py
index d04557d..bf8a536 100644
--- a/IPython/iplib.py
+++ b/IPython/iplib.py
@@ -6,7 +6,7 @@ Requires Python 2.3 or newer.
 
 This file contains all the classes and helper functions specific to IPython.
 
-$Id: iplib.py 2197 2007-04-02 07:36:55Z fperez $
+$Id: iplib.py 2201 2007-04-03 05:59:01Z fperez $
 """
 
 #*****************************************************************************
@@ -2142,7 +2142,7 @@ want to merge them back into the new files.""" % locals()
 
         # First check for explicit escapes in the last/first character
         handler = None
-        if line[-1] == self.ESC_HELP:
+        if line[-1] == self.ESC_HELP and line[0] != self.ESC_SHELL:
             handler = self.esc_handlers.get(line[-1])  # the ? can be at the end
         if handler is None:
             # look at the first character of iFun, NOT of line, so we skip
diff --git a/doc/ChangeLog b/doc/ChangeLog
index ac302ac..90614c0 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,5 +1,8 @@
 2007-04-02  Fernando Perez  <Fernando.Perez@colorado.edu>
 
+	* IPython/iplib.py (_prefilter): close #52, second part of a patch
+	set by Stefan (only the first part had been applied before).
+
 	* IPython/Extensions/ipy_stock_completers.py (module_completer):
 	remove usage of the dangerous pkgutil.walk_packages().  See
 	details in comments left in the code.