Index: trunk/psModules/src/config/pmConfig.c
===================================================================
--- trunk/psModules/src/config/pmConfig.c	(revision 20260)
+++ trunk/psModules/src/config/pmConfig.c	(revision 20341)
@@ -1604,6 +1604,5 @@
         nebServer *server = nebServerAlloc(neb_server);
         if (!server) {
-            psError(PM_ERR_SYS, true, "failed to create a nebServer object: %s", nebErr(server));
-            nebServerFree(server);
+            psError(PM_ERR_SYS, true, "failed to create a nebServer object.");
             return NULL;
         }
@@ -1626,4 +1625,18 @@
                 return NULL;
             }
+        } else if (create || trunc) {
+            // object exists and it looks like the caller intends to write to it
+            // delete all but one instance
+            if (!nebCullAllButOne(server,filename)) {
+                psError(PM_ERR_SYS, true, "failed to cull instances of existing nebulous file: %s\n%s", 
+                    filename, nebErr(server));
+                return NULL;
+            }
+            // we don't know which instances got culled so get the instance again
+            if (!(nebfile = nebFind(server, filename))) {
+                psError(PM_ERR_SYS, true, "failed to find instance of existing nebulous file: %s\n%s", 
+                    filename, nebErr(server));
+                return NULL;
+            }
         }
 
