diff --git a/object_boolean_tools.py b/object_boolean_tools.py
index 0e75ef103796425ee65272145d201c1570206c17..ad01c402178e8b3ccffc2ce525e85eaa5fc21976 100644
--- a/object_boolean_tools.py
+++ b/object_boolean_tools.py
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "Bool Tool",
     "author": "Vitor Balbio, Mikhail Rachinskiy, TynkaTopi, Meta-Androcto",
-    "version": (0, 3, 7),
+    "version": (0, 3, 8),
     "blender": (2, 78, 0),
     "location": "View3D > Toolshelf",
     "description": "Bool Tools Hotkey: Ctrl Shift B",
@@ -45,7 +45,7 @@ from bpy.props import (
         )
 
 
-# -------------------  Bool Tool FUNCTIONS------------------------------
+# -------------------  Bool Tool FUNCTIONS -------------------------
 # Utils:
 
 # Hide boolean objects
@@ -398,20 +398,32 @@ def HandleScene(scene):
                 GCollector(ob)
 
 
-# ------------------ Bool Tool OPERATORS-----------------------------------------------------
+# ------------------ Bool Tool OPERATORS --------------------------------------
 
 class BTool_DrawPolyBrush(Operator):
     bl_idname = "btool.draw_polybrush"
     bl_label = "Draw Poly Brush"
-    bl_description = ("Draw Polygonal Mask, can be applyied to Canvas > Brush "
-                      "or Directly. ESC to Exit")
+    bl_description = ("Draw Polygonal Mask, can be applied to Canvas > Brush or Directly\n"
+                      "Note: ESC to Cancel, Enter to Apply, Right Click to erase the Lines")
 
     count = 0
+    store_cont_draw = False
 
     @classmethod
     def poll(cls, context):
         return context.active_object is not None
 
+    def set_cont_draw(self, context, start=False):
+        # store / restore GP continuous drawing (see T52321)
+        scene = context.scene
+        tool_settings = scene.tool_settings
+        continuous = tool_settings.use_gpencil_continuous_drawing
+        if start:
+            self.store_cont_draw = continuous
+            tool_settings.use_gpencil_continuous_drawing = True
+        else:
+            tool_settings.use_gpencil_continuous_drawing = self.store_cont_draw
+
     def modal(self, context, event):
         self.count += 1
         actObj = bpy.context.active_object
@@ -419,9 +431,15 @@ class BTool_DrawPolyBrush(Operator):
             actObj.select = True
             bpy.ops.gpencil.draw('INVOKE_DEFAULT', mode="DRAW_POLY")
 
+        if event.type in {'RIGHTMOUSE'}:
+            # use this to pass to the Grease Pencil eraser (see T52321)
+            pass
+
         if event.type in {'RET', 'NUMPAD_ENTER'}:
 
             bpy.ops.gpencil.convert(type='POLY')
+            self.set_cont_draw(context)
+
             for obj in context.selected_objects:
                 if obj.type == "CURVE":
                     obj.name = "PolyDraw"
@@ -448,7 +466,7 @@ class BTool_DrawPolyBrush(Operator):
                     bpy.context.scene.update()
                     actObj.select = True
                     obj.select = True
-                    # try:
+
                     bpy.context.scene.grease_pencil.clear()
                     bpy.ops.gpencil.data_unlink()
 
@@ -456,12 +474,17 @@ class BTool_DrawPolyBrush(Operator):
 
         if event.type in {'ESC'}:
             bpy.ops.ed.undo()  # remove o Grease Pencil
+            self.set_cont_draw(context)
+
+            self.report({'INFO'},
+                         "Draw Poly Brush: Operation Cancelled by User")
             return {'CANCELLED'}
 
         return {'RUNNING_MODAL'}
 
     def invoke(self, context, event):
         if context.object:
+            self.set_cont_draw(context, start=True)
             context.window_manager.modal_handler_add(self)
             return {'RUNNING_MODAL'}
         else:
@@ -747,7 +770,7 @@ class Auto_Subtract(AutoBoolean, Operator):
 class BTool_FindBrush(Operator):
     bl_idname = "btool.find_brush"
     bl_label = ""
-    bl_description = "Find the this brush"
+    bl_description = "Find the selected brush"
 
     obj = StringProperty("")