diff --git a/src/Mod/Part/App/FeatureChamfer.cpp b/src/Mod/Part/App/FeatureChamfer.cpp
index 39310bff67..1f7ee60a95 100644
--- a/src/Mod/Part/App/FeatureChamfer.cpp
+++ b/src/Mod/Part/App/FeatureChamfer.cpp
@@ -73,6 +73,18 @@ App::DocumentObjectExecReturn *Chamfer::execute(void)
TopoDS_Shape shape = mkChamfer.Shape();
if (shape.IsNull())
return new App::DocumentObjectExecReturn("Resulting shape is null");
+
+ //shapefix re #4285
+ //https://www.forum.freecadweb.org/viewtopic.php?f=3&t=43890&sid=dae2fa6fda71670863a103b42739e47f
+ TopoShape* ts = new TopoShape(shape);
+ double minTol = 2.0 * Precision::Confusion();
+ double maxTol = 4.0 * Precision::Confusion();
+ bool rc = ts->fix(Precision::Confusion(), minTol, maxTol);
+ if (rc) {
+ shape = ts->getShape();
+ }
+ delete ts;
+
ShapeHistory history = buildHistory(mkChamfer, TopAbs_FACE, shape, baseShape);
this->Shape.setValue(shape);
diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneral.ui b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneral.ui
index 8d853fb66a..122c533a50 100644
--- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneral.ui
+++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneral.ui
@@ -428,6 +428,9 @@ for ProjectionGroups
Starting directory for menu 'Insert Page using Template'
+
+ Gui::FileChooser::Directory
+
TemplateDir
@@ -539,6 +542,9 @@ for ProjectionGroups
Default directory for welding symbols
+
+ Gui::FileChooser::Directory
+
WeldingDir