diff --git a/Graphs/gSessionTime.cpp b/Graphs/gSessionTime.cpp
index 94108123..6eb3bf9f 100644
--- a/Graphs/gSessionTime.cpp
+++ b/Graphs/gSessionTime.cpp
@@ -63,14 +63,22 @@ void gSessionTime::Plot(gGraphWindow & w,float scrx,float scry)
     double px1,px2,py1,py2;
     QColor & col1=color[0];
     QColor col2("light grey");
+    QString str;
+    bool draw_xticks_instead=false;
+    bool antialias=pref["UseAntiAliasing"].toBool();
 
     QDateTime d;
     QTime t;
     double start,end,total;
+    float textX,textY;
+    map<int,bool> datedrawn;
+
+    int idx=-1;
     for (int i=0;i<data->np[0];i++) {
         QPointD & rp=data->point[0][i];
         if (int(rp.x()) < int(minx)) continue;
         if (int(rp.x()) > int(maxx+.5)) break;
+        if (idx<0) idx=i;
         d=QDateTime::fromTime_t(rp.x()*86400.0);
         t=d.time();
         start=t.hour()+(t.minute()/60.0)+(t.second()/3600.0);
@@ -119,7 +127,29 @@ void gSessionTime::Plot(gGraphWindow & w,float scrx,float scry)
         glVertex2f(rect.x()+rect.width(),rect.y());
         glVertex2f(rect.x()+rect.width(), rect.y()+rect.height());
         glEnd();
+        if (!draw_xticks_instead) {
+            if (datedrawn.find(dy)==datedrawn.end()) {
+                datedrawn[dy]=true;
+                str=FormatX(rp.y());
+
+                GetTextExtent(str, textX, textY);
+                if (!draw_xticks_instead && (textY+6<barwidth)) {
+                    glBegin(GL_LINE);
+                    glVertex2f(start_px+px1+barwidth/2+textY/2,start_py);
+                    glVertex2f(start_px+px1+barwidth/2+textY/2,start_py-6);
+                    glEnd();
+                    DrawText(str,start_px+px1+barwidth/2+textY/2+textY,scry-(start_py-8-textX/2),90);
+                } else draw_xticks_instead=true;
+            }
+        }
+
     }
+    if (draw_xticks_instead) {
+        // turn off the minor ticks..
+        Xaxis->SetShowMinorTicks(false);
+        Xaxis->Plot(w,scrx,scry);
+    }
+
     glColor3f (0.0F, 0.0F, 0.0F);
     glLineWidth(1);
     glBegin (GL_LINES);
@@ -128,6 +158,4 @@ void gSessionTime::Plot(gGraphWindow & w,float scrx,float scry)
     glVertex2f (start_px,start_py);
     glVertex2f (start_px+width, start_py);
     glEnd ();
-
-    Xaxis->Plot(w,scrx,scry);
 }