Index: trunk/src/org/openstreetmap/josm/actions/DeleteAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DeleteAction.java	(revision 16364)
+++ trunk/src/org/openstreetmap/josm/actions/DeleteAction.java	(revision 16365)
@@ -96,5 +96,5 @@
         return checkAndConfirmOutlyingOperation("delete",
                 tr("Delete confirmation"),
-                tr("You are about to delete nodes outside of the area you have downloaded."
+                tr("You are about to delete nodes which can have other referrers not yet downloaded."
                         + "<br>"
                         + "This can cause problems because other objects (that you do not see) might use them."
Index: trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 16364)
+++ trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java	(revision 16365)
@@ -520,6 +520,6 @@
         // TODO: Only display this warning when nodes outside dataSourceArea are deleted
         boolean ok = checkAndConfirmOutlyingOperation("joinarea", tr("Join area confirmation"),
-                trn("The selected way has nodes outside of the downloaded data region.",
-                    "The selected ways have nodes outside of the downloaded data region.",
+                trn("The selected way has nodes which can have other referrers not yet downloaded.",
+                    "The selected ways have nodes which can have other referrers not yet downloaded.",
                     ways.size()) + "<br/>"
                     + tr("This can lead to nodes being deleted accidentally.") + "<br/>"
Index: trunk/src/org/openstreetmap/josm/actions/JosmAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JosmAction.java	(revision 16364)
+++ trunk/src/org/openstreetmap/josm/actions/JosmAction.java	(revision 16365)
@@ -496,8 +496,9 @@
      * Check whether user is about to operate on data outside of the download area.
      * Request confirmation if he is.
+     * Also handles the case that there is no download area.
      *
      * @param operation the operation name which is used for setting some preferences
      * @param dialogTitle the title of the dialog being displayed
-     * @param outsideDialogMessage the message text to be displayed when data is outside of the download area
+     * @param outsideDialogMessage the message text to be displayed when data is outside of the download area or no download area exists
      * @param incompleteDialogMessage the message text to be displayed when data is incomplete
      * @param primitives the primitives to operate on
Index: trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 16364)
+++ trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java	(revision 16365)
@@ -504,5 +504,5 @@
         final boolean ok = checkAndConfirmOutlyingOperation("unglue",
                 tr("Unglue confirmation"),
-                tr("You are about to unglue nodes outside of the area you have downloaded."
+                tr("You are about to unglue nodes which can have other referrers not yet downloaded."
                         + "<br>"
                         + "This can cause problems because other objects (that you do not see) might use them."
Index: trunk/src/org/openstreetmap/josm/command/Command.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/Command.java	(revision 16364)
+++ trunk/src/org/openstreetmap/josm/command/Command.java	(revision 16365)
@@ -229,5 +229,6 @@
                 res |= IS_INCOMPLETE;
             } else if (osm.isOutsideDownloadArea()
-                    && (ignore == null || !ignore.contains(osm))) {
+                    || (!osm.isNew() && osm.getDataSet() != null && osm.getDataSet().getDataSourceBounds().isEmpty())
+                            && (ignore == null || !ignore.contains(osm))) {
                 res |= IS_OUTSIDE;
             }
