diff --git a/pgadmin/dlg/dlgRole.cpp b/pgadmin/dlg/dlgRole.cpp
index 059e979..03fe19f 100644
--- a/pgadmin/dlg/dlgRole.cpp
+++ b/pgadmin/dlg/dlgRole.cpp
@@ -652,7 +652,7 @@ wxString dlgRole::GetSql()
 		}
 		if (!datValidUntil->GetValue().IsValid() || DateToStr(datValidUntil->GetValue() + timValidUntil->GetValue()) != DateToStr(role->GetAccountExpires()))
 		{
-			if (datValidUntil->GetValue().IsValid())
+			if (datValidUntil->GetValue().IsValid() && role->GetAccountExpires().GetValue() != -1)
 				options += wxT("\n   VALID UNTIL ") + qtDbString(DateToAnsiStr(datValidUntil->GetValue() + timValidUntil->GetValue()));
 			else
 				options += wxT("\n   VALID UNTIL 'infinity'");
