diff --git a/exec/fingerservice.js b/exec/fingerservice.js
index 4e00d46b1a74e43dc7237d242ef54dafa34f78a4..d7db30dcd392ffacce352f204f061e564e20eb07 100644
--- a/exec/fingerservice.js
+++ b/exec/fingerservice.js
@@ -416,7 +416,12 @@ write(format("Last login %s %s\r\nvia %s from %s [%s]\r\n"
 	  ,u.connection
 	  ,u.host_name
 	  ,u.ip_address));
-
+var plan;
+plan=format("%suser/%04s.plan",system.data_dir,u.number);
+if(file_exists(plan))
+	send_file(plan)
+else
+	write("No plan.\r\n");
 done();
 
 /* End of fingerservice.js */
diff --git a/exec/str_cmds.js b/exec/str_cmds.js
index 65c6590448d8b95a912216a755f5d91c1d739465..e250e97a7964cfd99fe03a15ef5f98428bbd5542 100644
--- a/exec/str_cmds.js
+++ b/exec/str_cmds.js
@@ -612,6 +612,14 @@ function str_cmds(str)
 	if(str=="POFF") {
 		bbs.node_settings ^= NODE_POFF;
 	}
+
+// Edit .plan
+	if(user.compare_ars("rest not G")) {
+		if(str=="PLAN") {
+			var plan=format("%suser/%04d.plan",system.data_dir,user.number);
+			console.editfile(plan);
+		}
+	}
 }
 
 //### Generic routine to ask user for parameter if one wasn't specified ###