diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getEditorFieldPreferredTextEditor.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getEditorFieldPreferredTextEditor.xml
index 2ed92a43ddc97842db78d1d82950b74a081e02c7..bbdd37e7c361adb530c83657b1c90fdd1922fe08 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getEditorFieldPreferredTextEditor.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_getEditorFieldPreferredTextEditor.xml
@@ -63,12 +63,12 @@ if not content_type:\n
   if getattr(context, \'getContentType\', None) is not None:\n
     content_type = context.getContentType() or \'text/html\'\n
 \n
-# If this is not HTML, fallback to TextArea\n
-if content_type != \'text/html\':\n
-  return \'text_area\'\n
+# If this is HTML, use preferred HTML editor or fallback to Textarea\n
+if content_type == \'text/html\':\n
+  return context.portal_preferences.getPreferredTextEditor() or \'text_area\'\n
 \n
-# Else return preferred value or TextArea if nothing defined\n
-return context.portal_preferences.getPreferredTextEditor() or \'text_area\'\n
+# Else use preferred source code editor or fallback to Textarea\n
+return context.portal_preferences.getPreferredSourceCodeEditor() or \'text_area\'\n
 </string> </value>
         </item>
         <item>