diff --git a/add_mesh_extra_objects/add_mesh_3d_function_surface.py b/add_mesh_extra_objects/add_mesh_3d_function_surface.py
index fad7cb5dffcd59549f8b609b741dfe44b2226450..f72a2583f99128cc68a99aed40b85390cb0cab3b 100644
--- a/add_mesh_extra_objects/add_mesh_3d_function_surface.py
+++ b/add_mesh_extra_objects/add_mesh_3d_function_surface.py
@@ -149,7 +149,7 @@ class AddZFunctionSurface(bpy.types.Operator):
     '''Add a surface defined defined by a function z=f(x,y)'''
     bl_idname = "mesh.primitive_z_function_surface"
     bl_label = "Add Z Function Surface"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     equation = StringProperty(name="Z Equation",
         description="Equation for z=f(x,y)",
@@ -403,7 +403,7 @@ class AddXYZFunctionSurface(bpy.types.Operator):
     + ''' x=F1(u,v), y=F2(u,v) and z=F3(u,v)'''
     bl_idname = "mesh.primitive_xyz_function_surface"
     bl_label = "Add X,Y,Z Function Surface"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     x_eq = StringProperty(name="X equation",
         description="Equation for x=F(u,v). " \
diff --git a/add_mesh_extra_objects/add_mesh_extra_objects.py b/add_mesh_extra_objects/add_mesh_extra_objects.py
index 785a77543dbbd03139efbdf831ad83c7b60a23d9..819b9732c7815bee3ec66ab3c67e86961bbac015 100644
--- a/add_mesh_extra_objects/add_mesh_extra_objects.py
+++ b/add_mesh_extra_objects/add_mesh_extra_objects.py
@@ -360,7 +360,7 @@ class AddSqorus(bpy.types.Operator):
     '''Add a sqorus mesh.'''
     bl_idname = "mesh.primitive_sqorus_add"
     bl_label = "Add Sqorus"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     hole_size = FloatProperty(name="Hole Size",
         description="Size of the Hole",
@@ -389,7 +389,7 @@ class AddWedge(bpy.types.Operator):
     '''Add a wedge mesh.'''
     bl_idname = "mesh.primitive_wedge_add"
     bl_label = "Add Wedge"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     size_x = FloatProperty(name="Size X",
         description="Size along the X axis",
@@ -423,7 +423,7 @@ class AddStar(bpy.types.Operator):
     '''Add a star mesh.'''
     bl_idname = "mesh.primitive_star_add"
     bl_label = "Add Star"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     points = IntProperty(name="Points",
         description="Number of points for the star",
@@ -464,7 +464,7 @@ class AddTrapezohedron(bpy.types.Operator):
     bl_idname = "mesh.primitive_trapezohedron_add"
     bl_label = "Add trapezohedron"
     bl_description = "Create one of the regular solids"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     segments = IntProperty(name = "Segments",
                 description = "Number of repeated segments",
diff --git a/add_mesh_extra_objects/add_mesh_gears.py b/add_mesh_extra_objects/add_mesh_gears.py
index dcd3d931183e458093455c051b74550546bf584e..a8f05156d99cb702b1852d06f84dea3dcbc94196 100644
--- a/add_mesh_extra_objects/add_mesh_gears.py
+++ b/add_mesh_extra_objects/add_mesh_gears.py
@@ -574,7 +574,7 @@ class AddGear(bpy.types.Operator):
     '''Add a gear mesh.'''
     bl_idname = "mesh.primitive_gear"
     bl_label = "Add Gear"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     number_of_teeth = IntProperty(name="Number of Teeth",
         description="Number of teeth on the gear",
@@ -680,7 +680,7 @@ class AddWormGear(bpy.types.Operator):
     '''Add a worm gear mesh.'''
     bl_idname = "mesh.primitive_worm_gear"
     bl_label = "Add Worm Gear"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     number_of_teeth = IntProperty(name="Number of Teeth",
         description="Number of teeth on the gear",
diff --git a/add_mesh_extra_objects/add_mesh_gemstones.py b/add_mesh_extra_objects/add_mesh_gemstones.py
index 63c7b6ef19f615fe33751e5e3b59d5ef7be966b1..f688b8c63421c7d915f8cd41e8af7d901011482b 100644
--- a/add_mesh_extra_objects/add_mesh_gemstones.py
+++ b/add_mesh_extra_objects/add_mesh_gemstones.py
@@ -242,7 +242,7 @@ class AddDiamond(bpy.types.Operator):
     '''Add a diamond mesh.'''
     bl_idname = "mesh.primitive_diamond_add"
     bl_label = "Add Diamond"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     segments = IntProperty(name="Segments",
         description="Number of segments for the diamond",
@@ -287,7 +287,7 @@ class AddGem(bpy.types.Operator):
     bl_idname = "mesh.primitive_gem_add"
     bl_label = "Add Gem"
     bl_description = "Create an offset faceted gem"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     segments = IntProperty(name="Segments",
         description="Longitudial segmentation",
diff --git a/add_mesh_extra_objects/add_mesh_pyramid.py b/add_mesh_extra_objects/add_mesh_pyramid.py
index dd3f5e30879d65cc9d12145ba4bf3ae491de1053..bf91b614bad2167a5fb831c3edab0dcbdc7c08de 100644
--- a/add_mesh_extra_objects/add_mesh_pyramid.py
+++ b/add_mesh_extra_objects/add_mesh_pyramid.py
@@ -113,7 +113,7 @@ class AddPyramid(bpy.types.Operator, AddObjectHelper):
     """Add a Mesh Object"""
     bl_idname = "mesh.primitive_steppyramid_add"
     bl_label = "Pyramid"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     initial_size = FloatProperty(name="Initial Size", default=2.0,
                                 min=0.0, max=20.0,
diff --git a/add_mesh_extra_objects/add_mesh_supertoroid.py b/add_mesh_extra_objects/add_mesh_supertoroid.py
index 46a3e7d3bdb14e4bcc5a0d71f54a2dd1b04bab3b..0be6a89b4a2cfdd253eabaf7ef015adb836daa73 100644
--- a/add_mesh_extra_objects/add_mesh_supertoroid.py
+++ b/add_mesh_extra_objects/add_mesh_supertoroid.py
@@ -152,7 +152,7 @@ class add_supertoroid(bpy.types.Operator):
     bl_idname = "mesh.primitive_supertoroid_add"
     bl_label = "Add SuperToroid"
     bl_description = "Create a SuperToroid"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     R = FloatProperty(name = "big radius",
                       description = "The radius inside the tube",
diff --git a/add_mesh_extra_objects/add_mesh_twisted_torus.py b/add_mesh_extra_objects/add_mesh_twisted_torus.py
index 1fd872c54bf39b84e9d2aca90436259129e19559..c7d8d5700fa766763fa5f6b9647132d44bcb803a 100644
--- a/add_mesh_extra_objects/add_mesh_twisted_torus.py
+++ b/add_mesh_extra_objects/add_mesh_twisted_torus.py
@@ -186,7 +186,7 @@ class AddTwistedTorus(bpy.types.Operator):
     '''Add a torus mesh'''
     bl_idname = "mesh.primitive_twisted_torus_add"
     bl_label = "Add Torus"
-    bl_options = {'REGISTER', 'UNDO'}
+    bl_options = {'REGISTER', 'UNDO', 'PRESET'}
 
     major_radius = FloatProperty(name="Major Radius",
         description="Radius from the origin to the" \