diff --git a/lib/modules/Calendar.pmod/YMD.pike b/lib/modules/Calendar.pmod/YMD.pike
index d2ae208bc6d251d7a7337be760f472eed2ecaf57..49e8d32c28a85467517795f35802f7d2a3af02e7 100644
--- a/lib/modules/Calendar.pmod/YMD.pike
+++ b/lib/modules/Calendar.pmod/YMD.pike
@@ -3257,7 +3257,9 @@ TimeofDay dwim_time(string what,void|TimeRange cx)
 		   "%*[a-zA-Z.] %h"COLON"%m %z",
 		   "%*[a-zA-Z.] %h"COLON"%m%z",
 		   "%*[a-zA-Z.] %h"COLON"%m",
- 		   "%*[a-zA-Z.] %h%*[ ]%p", }),
+		   "%*[a-zA-Z.] %h%*[ ]%p",
+		   "%t",
+		}),
 		string todformat )
       {
 //  	 werror("try: %O\n     %O\n",
diff --git a/lib/modules/Calendar.pmod/testsuite.in b/lib/modules/Calendar.pmod/testsuite.in
index 0f46374d22fe4eab2e56e74d22e1c7dd317f1449..1927dda2cec887e5ec6da9819746ed43d6211c05 100644
--- a/lib/modules/Calendar.pmod/testsuite.in
+++ b/lib/modules/Calendar.pmod/testsuite.in
@@ -28,7 +28,9 @@ test_do(Calendar.TimeRange t = Calendar.now())
 dnl Some more or less odd timezones encountered by Xenofarm:
 define(test_dwim,[[
   test_eq(Calendar.ISO.set_timezone("CET")->dwim_time($1)->format_time(),"2002-11-19 07:04:03")
-  test_eq(Calendar.ISO.set_timezone("CET")->dwim_time($1)->tzname(),$2)
+  ifelse($2,,,[[
+    test_eq(Calendar.ISO.set_timezone("CET")->dwim_time($1)->tzname(),$2)
+  ]])
 ]])
 test_dwim("Tue Nov 19 07:04:03 MET 2002","MET")
 test_dwim("Tue Nov 19 07:04:03 CST 2002","CST")
@@ -42,6 +44,10 @@ test_dwim("Tue Nov 19 07:04:03 METDST 2002","MET")
 test_dwim([["Tue, 19 Nov 2002 07:04:03 GMT"]],"GMT")
 test_dwim([["Tuesday, 19-Nov-02 07:04:03 GMT"]],"GMT")
 test_dwim("Tue Nov 19 07:04:03 2002","GMT")
+test_dwim("20021119T070403 GMT","GMT")
+test_dwim("20021119T070403")
+test_dwim("20021119 070403 GMT","GMT")
+test_dwim("20021119 070403")
 
 define(test_http,[[
   test_eq(Calendar.ISO.http_time($1)->format_time(),$2)