diff --git a/pgadmin/agent/pgaJob.cpp b/pgadmin/agent/pgaJob.cpp
index ea9537c..aa4c5f7 100644
--- a/pgadmin/agent/pgaJob.cpp
+++ b/pgadmin/agent/pgaJob.cpp
@@ -62,9 +62,16 @@ wxString pgaJob::GetTranslatedMessage(int kindOfMessage) const
 		case DEPENDENTS:
 			message = _("pgAgent job dependents");
 			break;
+		case DROPEXCLUDINGDEPS:
+			message = wxString::Format(_("Are you sure you wish to drop job \"%s\"?"),
+			                           GetFullIdentifier().c_str());
+			break;
+		case DROPTITLE:
+			message = _("Drop job?");
+			break;
 	}
 
-	if (!message.IsEmpty())
+	if (!message.IsEmpty() && !(kindOfMessage==DROPEXCLUDINGDEPS || kindOfMessage==DROPTITLE))
 		message += wxT(" ") + GetName();
 
 	return message;
diff --git a/pgadmin/agent/pgaSchedule.cpp b/pgadmin/agent/pgaSchedule.cpp
index 77eae14..be0e1dd 100644
--- a/pgadmin/agent/pgaSchedule.cpp
+++ b/pgadmin/agent/pgaSchedule.cpp
@@ -64,9 +64,16 @@ wxString pgaSchedule::GetTranslatedMessage(int kindOfMessage) const
 		case DEPENDENTS:
 			message = _("pgAgent schedule dependents");
 			break;
+		case DROPEXCLUDINGDEPS:
+			message = wxString::Format(_("Are you sure you wish to drop schedule \"%s\"?"),
+			                           GetFullIdentifier().c_str());
+			break;
+		case DROPTITLE:
+			message = _("Drop schedule?");
+			break;
 	}
 
-	if (!message.IsEmpty())
+	if (!message.IsEmpty() && !(kindOfMessage==DROPEXCLUDINGDEPS || kindOfMessage==DROPTITLE))
 		message += wxT(" ") + GetName();
 
 	return message;
diff --git a/pgadmin/agent/pgaStep.cpp b/pgadmin/agent/pgaStep.cpp
index 42596af..5be6a27 100644
--- a/pgadmin/agent/pgaStep.cpp
+++ b/pgadmin/agent/pgaStep.cpp
@@ -60,9 +60,16 @@ wxString pgaStep::GetTranslatedMessage(int kindOfMessage) const
 		case DEPENDENTS:
 			message = _("pgAgent step dependents");
 			break;
+		case DROPEXCLUDINGDEPS:
+			message = wxString::Format(_("Are you sure you wish to drop step \"%s\"?"),
+			                           GetFullIdentifier().c_str());
+			break;
+		case DROPTITLE:
+			message = _("Drop step?");
+			break;
 	}
 
-	if (!message.IsEmpty())
+	if (!message.IsEmpty() && !(kindOfMessage==DROPEXCLUDINGDEPS || kindOfMessage==DROPTITLE))
 		message += wxT(" ") + GetName();
 
 	return message;
diff --git a/pgadmin/frm/events.cpp b/pgadmin/frm/events.cpp
index e8c828b..49ac0fd 100644
--- a/pgadmin/frm/events.cpp
+++ b/pgadmin/frm/events.cpp
@@ -36,6 +36,7 @@
 #include "schema/pgObject.h"
 #include "schema/pgCollection.h"
 #include "schema/pgTable.h"
+#include "schema/edbPrivateSynonym.h"
 #include "dlg/dlgProperty.h"
 
 // Event table
@@ -887,6 +888,8 @@ bool frmMain::dropSingleObject(pgObject *data, bool updateFinal, bool cascaded)
 				if (data->GetMetaType() == PGM_SERVER)
 					text = wxString::Format(_("Are you sure you wish to drop server \"%s\"?"),
 					                        ((pgServer *)data)->GetFullIdentifier().c_str());
+				else if (data->GetMetaType() == EDB_SYNONYM)
+					text = ((edbPrivateSynonym *)data)->GetTranslatedMessage(DROPEXCLUDINGDEPS);
 				else
 					text = data->GetTranslatedMessage(DROPEXCLUDINGDEPS);
 				caption = data->GetTranslatedMessage(DROPTITLE);
diff --git a/pgadmin/include/schema/edbPrivateSynonym.h b/pgadmin/include/schema/edbPrivateSynonym.h
index 874ae09..3a0c1a6 100644
--- a/pgadmin/include/schema/edbPrivateSynonym.h
+++ b/pgadmin/include/schema/edbPrivateSynonym.h
@@ -37,6 +37,7 @@ public:
 
 	bool DropObject(wxFrame *, ctlTree *, bool);
 	pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
+	wxString GetTranslatedMessage(int kindOfMessage) const;
 
 	bool HasStats()
 	{
diff --git a/pgadmin/include/utils/misc.h b/pgadmin/include/utils/misc.h
index 5576a4d..f688ee1 100644
--- a/pgadmin/include/utils/misc.h
+++ b/pgadmin/include/utils/misc.h
@@ -199,6 +199,7 @@ enum
 	EDB_PACKAGE,
 	EDB_PACKAGEFUNCTION,
 	EDB_PACKAGEVARIABLE,
+	EDB_SYNONYM,
 
 	PGM_CATALOG,
 	PGM_CATALOGOBJECT,
diff --git a/pgadmin/schema/edbPrivateSynonym.cpp b/pgadmin/schema/edbPrivateSynonym.cpp
index 1a6b0f0..d395b06 100644
--- a/pgadmin/schema/edbPrivateSynonym.cpp
+++ b/pgadmin/schema/edbPrivateSynonym.cpp
@@ -36,6 +36,24 @@ bool edbPrivateSynonym::DropObject(wxFrame *frame, ctlTree *browser, bool cascad
 	return GetDatabase()->ExecuteVoid(sql);
 }
 
+wxString edbPrivateSynonym::GetTranslatedMessage(int kindOfMessage) const
+{
+	wxString message = wxEmptyString;
+
+	switch (kindOfMessage)
+	{
+		case DROPEXCLUDINGDEPS:
+			message = wxString::Format(_("Are you sure you wish to drop synonym \"%s\"?"),
+			                           GetFullIdentifier().c_str());
+			break;
+		case DROPTITLE:
+			message = _("Drop synonym?");
+			break;
+	}
+
+	return message;
+}
+
 wxString edbPrivateSynonym::GetSql(ctlTree *browser)
 {
 	if (sql.IsNull())
@@ -194,7 +212,9 @@ wxString edbPrivateSynonymCollection::GetTranslatedMessage(int kindOfMessage) co
 
 edbPrivateSynonymFactory::edbPrivateSynonymFactory()
 	: pgSchemaObjFactory(__("Synonym"), __("New Synonym..."), __("Create a new Synonym."), synonym_png_img)
-{}
+{
+	metaType = EDB_SYNONYM;
+}
 
 pgCollection *edbPrivateSynonymFactory::CreateCollection(pgObject *obj)
 {
diff --git a/pgadmin/schema/pgObject.cpp b/pgadmin/schema/pgObject.cpp
index e1e20bf..da57e01 100644
--- a/pgadmin/schema/pgObject.cpp
+++ b/pgadmin/schema/pgObject.cpp
@@ -113,6 +113,13 @@ wxString pgObject::GetTranslatedMessage(int kindOfMessage) const
 			break;
 		case BACKUPSERVERTITLE:
 			message = _("Backup unknown object of type");
+		case DROPEXCLUDINGDEPS:
+			message = wxString::Format(_("Are you sure you wish to drop object \"%s\"?"),
+			                           GetFullIdentifier().c_str());
+			break;
+		case DROPTITLE:
+			message = _("Drop object?");
+			break;
 	}
 	//message += wxT(" ") + factory->GetTypeName();
 
