diff --git a/xtrn/ddfilelister/ddfilelister.js b/xtrn/ddfilelister/ddfilelister.js
index cc6818402b28edc08d736fade9d501e6dea43a36..0b42f328af6e7a0c0f6b1e53e4bffd0c9db4622a 100644
--- a/xtrn/ddfilelister/ddfilelister.js
+++ b/xtrn/ddfilelister/ddfilelister.js
@@ -174,6 +174,9 @@
  *                              and expanding newlines
  *                              Refactored the way the settings and colors are structured in the
  *                              code. No functional change.
+ * 2025-03-06 Eric Oulashin     Version 2.29
+ *                              Bug fix for editing ext'd description when a file has no ext'd
+ *                              description initially
  */
 
 "use strict";
@@ -215,8 +218,8 @@ var gAvatar = load({}, "avatar_lib.js");
 
 
 // Version information
-var LISTER_VERSION = "2.28b";
-var LISTER_DATE = "2025-02-27";
+var LISTER_VERSION = "2.29";
+var LISTER_DATE = "2025-03-06";
 
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -2007,15 +2010,30 @@ function editFileInfo(pFileList, pFileListMenu)
 		var extdMetadata = getFileInfoFromFilebase(fileMetadata.dirCode, fileMetadata.name, FileBase.DETAIL.EXTENDED);
 		if (extdMetadata != null)
 		{
-			// Let the user edit the extended description with their configured editor
+			// Let the user edit the extended description (if it has one) with their configured editor
 			var descFilename = system.temp_dir + "extdDescTemp.txt";
 			var outFile = new File(descFilename);
 			if (outFile.open("w"))
 			{
-				// An extended file description is usually up to about 45 characters long
-				var descWrapped = word_wrap(extdMetadata.extdesc, 45, null, false).split("\r\n");
-				for (var lineIdx = 0; lineIdx < descWrapped.length; ++lineIdx)
-					outFile.writeln(descWrapped[lineIdx]);
+				if (typeof(extdMetadata.extdesc) === "string")
+				{
+					// An extended file description is usually up to about 45 characters long
+					var descWrapped = word_wrap(extdMetadata.extdesc, 45, null, false).split("\r\n");
+					for (var lineIdx = 0; lineIdx < descWrapped.length; ++lineIdx)
+						outFile.writeln(descWrapped[lineIdx]);
+				}
+				else
+				{
+					if (extdMetadata.hasOwnProperty("desc") && typeof(extdMetadata.desc) === "string" && extdMetadata.desc.length > 0)
+					{
+						if (console.yesno("No extended description. Start with short description"))
+							outFile.writeln(extdMetadata.desc);
+						else
+							outFile.writeln("");
+					}
+					else
+						outFile.writeln("");
+				}
 				outFile.close();
 				if (console.editfile(descFilename, "", "", fileMetadata.name, "", false))
 				{
diff --git a/xtrn/ddfilelister/ddfl_cfg.js b/xtrn/ddfilelister/ddfl_cfg.js
index d6fe829ed06ce0f78c9755172576a6228a3b9dd7..778ccda11a82df6dbb821f358e5424fdd6297063 100644
--- a/xtrn/ddfilelister/ddfl_cfg.js
+++ b/xtrn/ddfilelister/ddfl_cfg.js
@@ -4,7 +4,7 @@
 // If you have ddfilelister in a directory other than xtrn/ddfilelister, then the changes to
 // ddfilelister.cfg will be saved in that directory (assuming you're running ddmr_cfg.js from
 // that same directory).
-// Currently for ddfilelister 2.28b.
+// Currently for ddfilelister 2.29.
 //
 // If you're running ddfilelister from xtrn/ddfilelister (the standard location) and you want
 // to save the configuration file there (rather than sbbs/mods), you can use one of the
@@ -17,7 +17,7 @@ require("sbbsdefs.js", "P_NONE");
 require("uifcdefs.js", "UIFC_INMSG");
 
 
-if (!uifc.init("DigDist. File Lister 2.28b Configurator"))
+if (!uifc.init("DigDist. File Lister 2.29 Configurator"))
 {
 	print("Failed to initialize uifc");
 	exit(1);
diff --git a/xtrn/ddfilelister/readme.txt b/xtrn/ddfilelister/readme.txt
index 8df0eb1c35e8616e3fb1a18d35c211a0b984f192..d7723aeded9a8bc2980f20427b2cdbc03eb1fb91 100644
--- a/xtrn/ddfilelister/readme.txt
+++ b/xtrn/ddfilelister/readme.txt
@@ -1,6 +1,6 @@
                         Digital Distortion File Lister
-                                 Version 2.28b
-                           Release date: 2025-02-27
+                                 Version 2.29
+                           Release date: 2025-03-06
 
                                      by
 
diff --git a/xtrn/ddfilelister/revision_history.txt b/xtrn/ddfilelister/revision_history.txt
index c55ac25521fa802cce49238901cc451678780032..cefbf6db322c001e9dbdb6ef57a33cf05483fbb0 100644
--- a/xtrn/ddfilelister/revision_history.txt
+++ b/xtrn/ddfilelister/revision_history.txt
@@ -5,6 +5,8 @@ Revision History (change log)
 =============================
 Version  Date         Description
 -------  ----         -----------
+2.29     2025-03-06   Bug fix for editing an extended description when a file
+                      doesn't have an extended description initially
 2.28b    2025-02-27   Formatting improvement for the traditional (non-lightbar)
                       user interface for some long descriptions using ANSI to
                       make them look better (removal of cursor movement codes