diff --git a/mtp/MtpStorage.cpp b/mtp/MtpStorage.cpp
index e20dab4..c726bc6 100755
--- a/mtp/MtpStorage.cpp
+++ b/mtp/MtpStorage.cpp
@@ -212,7 +212,7 @@
 				return 0;
 		}
 	}
-	MTPE("MtpStorage::getObjectInfo no object found, error!\n");
+	// Item is not on this storage device
 	return -1;
 }
 
@@ -290,7 +290,7 @@
 			goto end;
 		}
 	}
-	MTPE("MtpStorage::getObjectFilePath fauled to find handle: %i\n", handle);
+	// Item is not on this storage
 	return -1;
 end:
 	outFormat = MTP_FORMAT_ASSOCIATION;
@@ -440,7 +440,6 @@
 			goto end;
 		}
 	}
-	MTPE("MtpStorage::deleteFile deleting handle: %d FAILED\n", handle);
 	return -1;
 end:
 	if (local_parent_id) {
@@ -556,7 +555,7 @@
 		}
 	}
 	else {
-		MTPE("MtpStorage::getObjectPropertyList unsupported property %x\n", property);
+		// Either the property is not supported or the handle is not on this storage
 		return -1;
 	}
 
@@ -653,7 +652,7 @@
 			}
 		}
 	}
-	MTPE("MtpStorage::renameObject handle / node not found, error!\n");
+	// handle not foudn on this storage
 	return -1;
 }
 
@@ -680,7 +679,7 @@
 			return 0;
 		}
 	}
-	MTPE("MtpStorage::getObjectPropertyValue unable to locate handle: %i\n", handle);
+	// handle not found on this storage
 	return -1;
 }
 pthread_t MtpStorage::inotify(void) {
diff --git a/mtp/mtp_MtpDatabase.cpp b/mtp/mtp_MtpDatabase.cpp
index 60a871c..acdab52 100755
--- a/mtp/mtp_MtpDatabase.cpp
+++ b/mtp/mtp_MtpDatabase.cpp
@@ -322,7 +322,7 @@
 											MtpDataPacket& packet) {
 	MTPD("MyMtpDatabase::getObjectPropertyValue mtpid: %i, property: %x\n", handle, property);
 	int type;
-	MtpResponseCode result;
+	MtpResponseCode result = MTP_RESPONSE_INVALID_OBJECT_HANDLE;
 	uint64_t longValue;
 	if (!getObjectPropertyInfo(property, type)) {
 		MTPE("MyMtpDatabase::setObjectPropertyValue returning MTP_RESPONSE_OBJECT_PROP_NOT_SUPPORTED\n");
@@ -336,6 +336,11 @@
 		}
 	}
 
+	if (result != MTP_RESPONSE_OK) {
+		MTPE("MyMtpDatabase::setObjectPropertyValue unable to locate handle: %i\n", handle);
+		return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
+	}
+
 	// special case date properties, which are strings to MTP
 	// but stored internally as a uint64
 	if (property == MTP_PROPERTY_DATE_MODIFIED || property == MTP_PROPERTY_DATE_ADDED) {
