Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/batching.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/batching.py	(revision 15627)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/batching.py	(revision 15628)
@@ -27,5 +27,6 @@
 from zope.catalog.interfaces import ICatalog
 from waeup.kofa.interfaces import (
-    IBatchProcessor, IObjectConverter, FatalCSVError, IGNORE_MARKER,
+    IBatchProcessor, IObjectConverter, FatalCSVError,
+    IGNORE_MARKER, DELETION_MARKER,
     IObjectHistory, IUserAccount, DuplicationError)
 from waeup.kofa.interfaces import MessageFactory as _
@@ -243,5 +244,5 @@
             row.pop('application_number')
 
-        # Update password
+        # Update 
         if 'password' in row:
             passwd = row.get('password', IGNORE_MARKER)
@@ -250,4 +251,6 @@
                     # already encrypted password
                     obj.password = passwd
+                elif passwd == DELETION_MARKER:
+                    obj.password = None
                 else:
                     # not yet encrypted password
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/batching.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/batching.py	(revision 15627)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/batching.py	(revision 15628)
@@ -37,5 +37,5 @@
 from waeup.kofa.interfaces import (
     IBatchProcessor, FatalCSVError, IObjectConverter, IUserAccount,
-    IObjectHistory, VALIDATED, REGISTERED, IGNORE_MARKER)
+    IObjectHistory, VALIDATED, REGISTERED, IGNORE_MARKER, DELETION_MARKER)
 from waeup.kofa.interfaces import IKofaUtils, DuplicationError
 from waeup.kofa.interfaces import MessageFactory as _
@@ -213,5 +213,4 @@
 
         # Update password
-        # XXX: Take DELETION_MARKER into consideration
         if 'password' in row:
             passwd = row.get('password', IGNORE_MARKER)
@@ -220,4 +219,6 @@
                     # already encrypted password
                     obj.password = passwd
+                elif passwd == DELETION_MARKER:
+                    obj.password = None
                 else:
                     # not yet encrypted password
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data.csv
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data.csv	(revision 15627)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data.csv	(revision 15628)
@@ -1,13 +1,13 @@
-student_id,firstname,lastname,reg_number,date_of_birth,matric_number,email,phone,sex,state
-X666666,Aaren,Pieri,1,1990-01-02,100000,,1234,M,courses validated
-Y777777,Claus,Finau,2,1990-01-03,100001,aa@aa.ng,1234,m,courses validated
-,Susann,Berson,3,1990-01-04,100002,aa@aa.ng,1234,F,courses validated
-,Else,Mueller,4,1990-01-05,100003,aa@aa.ng,1234,f,school fee paid
-,,,,,,,,,
-,,,,  ,,, ,,
-,,,,<IGNORE>,,,<IGNORE>,,
-X888888,Alfons,Meier,5,1990-01-02,100004,aa@aa.ng,1234,m,courses validated
-X999999,Herbert,Mueller,6,1990-01-02,100005,aa@aa.ng,1234,m,courses registered
-X111111,Fabian,Riester,7,1990-01-02,100006,aa@aa.ng,1234,m,courses validated
-X222222,Thomas,Kinderman,8,1990-01-02,100007,aa@aa.ng,1234,m,courses validated
-X333333,Paula,Schall,9,1990-01-02,100008,aa@aa.ng,1234,m,courses registered
+student_id,firstname,lastname,reg_number,date_of_birth,matric_number,email,phone,sex,state,password
+X666666,Aaren,Pieri,1,1990-01-02,100000,,1234,M,courses validated,test1234
+Y777777,Claus,Finau,2,1990-01-03,100001,aa@aa.ng,1234,m,courses validated,
+,Susann,Berson,3,1990-01-04,100002,aa@aa.ng,1234,F,courses validated,
+,Else,Mueller,4,1990-01-05,100003,aa@aa.ng,1234,f,school fee paid,
+,,,,,,,,,,
+,,,,  ,,, ,,,
+,,,,<IGNORE>,,,<IGNORE>,,,
+X888888,Alfons,Meier,5,1990-01-02,100004,aa@aa.ng,1234,m,courses validated,
+X999999,Herbert,Mueller,6,1990-01-02,100005,aa@aa.ng,1234,m,courses registered,
+X111111,Fabian,Riester,7,1990-01-02,100006,aa@aa.ng,1234,m,courses validated,
+X222222,Thomas,Kinderman,8,1990-01-02,100007,aa@aa.ng,1234,m,courses validated,
+X333333,Paula,Schall,9,1990-01-02,100008,aa@aa.ng,1234,m,courses registered,
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data_update2.csv
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data_update2.csv	(revision 15627)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data_update2.csv	(revision 15628)
@@ -1,4 +1,4 @@
-date_of_birth,matric_number,phone
-1970-01-02,100000,
-1970-01-03,100001,XXX
-1970-01-04,100002,<IGNORE>
+date_of_birth,matric_number,phone,password
+1970-01-02,100000,,XXX
+1970-01-03,100001,XXX,
+1970-01-04,100002,<IGNORE>,
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_batching.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_batching.py	(revision 15627)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_batching.py	(revision 15628)
@@ -451,4 +451,7 @@
             self.csv_file, STUDENT_HEADER_FIELDS)
         shutil.rmtree(os.path.dirname(fin_file))
+        container = self.app['students']
+        self.assertEqual(
+            IUserAccount(container['X666666']).checkPassword('test1234'), True)
         num, num_warns, fin_file, fail_file = self.processor.doImport(
             self.csv_file_update2, STUDENT_HEADER_FIELDS_UPDATE2, 'update')
@@ -456,5 +459,4 @@
         # The phone import value of Pieri was None.
         # Confirm that phone has not been cleared.
-        container = self.app['students']
         for key in container.keys():
             if container[key].firstname == 'Aaren':
@@ -469,4 +471,7 @@
                 break
         assert claus.phone is None
+        # The password of X666666 has been removed
+        self.assertEqual(
+            IUserAccount(container['X666666']).password, None)
         shutil.rmtree(os.path.dirname(fin_file))
 
