diff --git a/include/openbsc/debug.h b/include/openbsc/debug.h
index 995a0f8..63f9e67 100644
--- a/include/openbsc/debug.h
+++ b/include/openbsc/debug.h
@@ -33,6 +33,7 @@
 void debugp(unsigned int subsys, char *file, int line, int cont, const char *format, ...);
 void debug_parse_category_mask(const char* mask);
 void debug_use_color(int use_color);
+void debug_timestamp(int enable);
 extern unsigned int debug_mask;
 
 #endif /* _DEBUG_H */
diff --git a/src/bsc_hack.c b/src/bsc_hack.c
index e4f90b4..7aa8b9a 100644
--- a/src/bsc_hack.c
+++ b/src/bsc_hack.c
@@ -1059,10 +1059,11 @@
 			{"bts-type", 1, 0, 't'},
 			{"cardnr", 1, 0, 'C'},
 			{"release-l2", 0, 0, 'R'},
+			{"timestamp", 0, 0, 'T'},
 			{0, 0, 0, 0}
 		};
 
-		c = getopt_long(argc, argv, "hc:n:d:sar:p:f:t:C:RL:l:",
+		c = getopt_long(argc, argv, "hc:n:d:sar:p:f:t:C:RL:l:T",
 				long_options, &option_index);
 		if (c == -1)
 			break;
@@ -1111,6 +1112,9 @@
 		case 'R':
 			release_l2 = 1;
 			break;
+		case 'T':
+			debug_timestamp(1);
+			break;
 		default:
 			/* ignore */
 			break;
diff --git a/src/debug.c b/src/debug.c
index 9bca07a..aeb9930 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -65,6 +65,14 @@
 	use_color = color;
 }
 
+static int print_timestamp = 0;
+
+void debug_timestamp(int enable)
+{
+	print_timestamp = enable;
+}
+
+
 /*
  * Parse the category mask.
  * category1:category2:category3
@@ -114,12 +122,15 @@
 	fprintf(outfd, "%s", color(subsys));
 
 	if (!cont) {
-		char *timestr;
-		time_t tm;
-		tm = time(NULL);
-		timestr = ctime(&tm);
-		timestr[strlen(timestr)-1] = '\0';
-		fprintf(outfd, "%s <%4.4x> %s:%d ", timestr, subsys, file, line);
+		if (print_timestamp) {
+			char *timestr;
+			time_t tm;
+			tm = time(NULL);
+			timestr = ctime(&tm);
+			timestr[strlen(timestr)-1] = '\0';
+			fprintf(outfd, "%s ", timestr);
+		}
+		fprintf(outfd, "<%4.4x> %s:%d ", subsys, file, line);
 	}
 	vfprintf(outfd, format, ap);
 	fprintf(outfd, "\033[0;m");
