diff --git a/preprocessor/CodeInterpreter.hh b/preprocessor/CodeInterpreter.hh
index e4e3e103196def601c6a50c528b3375d2adceaf7..d39567b83ad8bd7c09f119c46ebe1941d26d7806 100644
--- a/preprocessor/CodeInterpreter.hh
+++ b/preprocessor/CodeInterpreter.hh
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2013 Dynare Team
+ * Copyright (C) 2007-2014 Dynare Team
  *
  * This file is part of Dynare.
  *
@@ -245,7 +245,8 @@ enum PriorDistributions
     eInvGamma = 4,
     eInvGamma1 = 4,
     eUniform = 5,
-    eInvGamma2 = 6
+    eInvGamma2 = 6,
+    eDirichlet = 7
   };
 
 struct Block_contain_type
diff --git a/preprocessor/ComputingTasks.cc b/preprocessor/ComputingTasks.cc
index afcab1a65de25a85a4dd1aab8156c6430bc055d2..e11a55f9bb17a706d67e96815fd364c776ad38ee 100644
--- a/preprocessor/ComputingTasks.cc
+++ b/preprocessor/ComputingTasks.cc
@@ -2180,6 +2180,9 @@ BasicPriorStatement::writeCShape(ostream &output) const
     case eInvGamma2:
       output  << "\"inv_gamma2\";" << endl;
       break;
+    case eDirichlet:
+      output  << "\"dirichlet\";" << endl;
+      break;
     case eNoShape:
       assert(prior_shape != eNoShape);
     }
diff --git a/preprocessor/DynareBison.yy b/preprocessor/DynareBison.yy
index aafe4022b5320ccc94ff1466dd9d6f7b5faabd7b..b367f8307a3327ed023115738f8fa874046f898f 100644
--- a/preprocessor/DynareBison.yy
+++ b/preprocessor/DynareBison.yy
@@ -144,7 +144,7 @@ class ParsingDriver;
 %token VLISTLOG VLISTPER
 %token RESTRICTION RESTRICTION_FNAME CROSS_RESTRICTIONS NLAGS CONTEMP_REDUCED_FORM REAL_PSEUDO_FORECAST
 %token DUMMY_OBS NSTATES INDXSCALESSTATES NO_BAYESIAN_PRIOR SPECIFICATION SIMS_ZHA
-%token <string_val> ALPHA BETA ABAND NINV CMS NCMS CNUM GAMMA INV_GAMMA INV_GAMMA1 INV_GAMMA2 NORMAL UNIFORM EPS PDF FIG DR NONE PRIOR PRIOR_VARIANCE HESSIAN IDENTITY_MATRIX
+%token <string_val> ALPHA BETA ABAND NINV CMS NCMS CNUM GAMMA INV_GAMMA INV_GAMMA1 INV_GAMMA2 NORMAL UNIFORM EPS PDF FIG DR NONE PRIOR PRIOR_VARIANCE HESSIAN IDENTITY_MATRIX DIRICHLET
 %token GSIG2_LMDM Q_DIAG FLAT_PRIOR NCSK NSTD
 %token INDXPARR INDXOVR INDXAP APBAND INDXIMF IMFBAND INDXFORE FOREBAND INDXGFOREHAT INDXGIMFHAT
 %token INDXESTIMA INDXGDLS EQ_MS FILTER_COVARIANCE FILTER_DECOMPOSITION
@@ -1285,6 +1285,8 @@ prior_distribution : BETA
                      { $$ = eUniform; }
                    | INV_GAMMA2
                      { $$ = eInvGamma2; }
+                   | DIRICHLET
+                     { $$ = eDirichlet; }
                    ;
 
 prior_pdf : BETA_PDF
diff --git a/preprocessor/DynareFlex.ll b/preprocessor/DynareFlex.ll
index 5cc354341436a029c5bf09735afe7f3cf5e4e690..2f212c66f1cff01ed9299cafa007915071cd0733 100644
--- a/preprocessor/DynareFlex.ll
+++ b/preprocessor/DynareFlex.ll
@@ -372,6 +372,10 @@ DATE -?[0-9]+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4][0-9]|5[0-2
   yylval->string_val = new string(yytext);
   return token::INV_GAMMA2;
 }
+<DYNARE_STATEMENT>dirichlet {
+  yylval->string_val = new string(yytext);
+  return token::DIRICHLET;
+}
 <DYNARE_STATEMENT>normal {
   yylval->string_val = new string(yytext);
   return token::NORMAL;